How to plot multiple dataframes to the same plot axes

Question:

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?

Asked By: J.A.Cado

||

Answers:

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')
Answered By: IanS
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.