Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

matplotlib: data points connected in wrong order in line graph

I'm reading a pandas dataframe, and trying to generate a plot from it. In the plot, the data points seem to be getting connected in an order determined by ascending y value, resulting in a weird zig-zagging plot like this:

enter image description here

The code goes something like this:

from pandas import DataFrame as df
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt

data = df.from_csv(...)

plt.plot(data['COL1'], data['COL2'])

Any suggestions on how to fix the order in which the dots are connected (i.e. connect them in the sequence in which they appear going from left to right on the plot)? Thanks.

like image 367
Lamps1829 Avatar asked Jul 22 '13 11:07

Lamps1829


1 Answers

Is the order of values in COL1 different from the csv?

You can sort by COL1 first, add this before plotting:

data.sort('COL1', inplace=True)
like image 129
Rutger Kassies Avatar answered Nov 03 '22 06:11

Rutger Kassies