Reputation: 1289
I'm trying to graph a pandas dataframe that contains 2 columns as shown below:
For i in data1:
for j in data2:
traces.append(
go.Scatter(
x=df['A'],
y=df['B']
)
)
plot
Column A has repeating values. When I Plot them it plots the first points correctly (column 'A' 1,2,3 column 'B' 2,5,6) but when it goes to plot the second set of repeating values 'A' 1,2,3 'B' 4,2,3 it draws a line from 'B' point 6 to the next point on 'B' point 2. It doesn't start again as shown below.
from this:
to this:
Upvotes: 3
Views: 840
Reputation: 57033
Basically, you need to plot each three lines separately:
ax = plt.axes()
df['span'] = df.index // 3 # Assign identical markers to each span
df.groupby('span').apply(lambda x: x.plot(x='A', y='B', legend=False, ax=ax)
plt.show() # If not in ipython
Upvotes: 4
Reputation: 38415
Pretty much the same solution as @DYZ. Still posting as I had already tried this.
ax = df.iloc[:3, [0,1]].plot('A', 'B')
df.iloc[3:6, [0,1]].plot('A', 'B',ax = ax)
df.iloc[6:9, [0,1]].plot('A', 'B',ax = ax)
Essentially they are three plots but on the same axis so they overlap.
Upvotes: 3