J.A.Cado
J.A.Cado

Reputation: 715

How to plot multiple dataframes to the same plot axes

I have two dataframes, with unique x and y coordinates, and I want to plot them in the same figure. I am now plotting two dataframes in same figure as such:

plt.plot(df1['x'],df1['y'])
plt.plot(df2['x'],df2['y'])
plt.show

However, pandas also has plotting functionality.

df.plot()

How could I achieve the same as my first example but use the pandas functionality?

Upvotes: 12

Views: 36102

Answers (1)

IanS
IanS

Reputation: 16241

To plot all columns against the index as line plots.

ax = df1.plot()
df2.plot(ax=ax)

A single pandas.DataFrame.plot (not subplots=True) returns a matplotlib.axes.Axes, which you can then pass to the second dataframe.

To plot specific columns as x and y. Specifying x and y is required for scatter plots (kind='scatter').

ax = df1.plot(x='Lat', y='Lon', figsize=(8, 8))
df2.plot(ax=ax, x='Lat', y='Lon')

Upvotes: 22

Related Questions