Python 3.x 用熊猫在同一绘图中绘制不同数据帧的不同列

Python 3.x 用熊猫在同一绘图中绘制不同数据帧的不同列,python-3.x,pandas,matplotlib,Python 3.x,Pandas,Matplotlib,我有两种不同的数据帧: DF1: with columns A B1 C1 D1 E1 DF2: with columns A B2 C2 D2 E2 他们俩的A是一样的 然后,我想在同一个图中绘制两个图,一个在右侧,另一个在左侧,带有以下信息: Plot 1: x axis = column A y axis = B1, B2, C1, C2 curves Plot 2: x axis = column A y axis = D1, D2, E1, E2 c

我有两种不同的数据帧:

DF1: with columns A B1 C1 D1 E1
DF2: with columns A B2 C2 D2 E2
他们俩的A是一样的

然后,我想在同一个图中绘制两个图,一个在右侧,另一个在左侧,带有以下信息:

Plot 1: x axis = column A
        y axis = B1, B2, C1, C2 curves

Plot 2: x axis = column A
        y axis = D1, D2, E1, E2 curves
如果不使用Pandas和Matplotlib合并两个DF,我怎么做呢?

您可以使用

f, (ax1, ax2) = plt.subplots(1,2)
这将创建一个包含1行和2列子地块的地块。 这可能是使用

A = DF1['A']
...
如果matplotlib不喜欢直接输入数据帧列

然后可以将这些列绘制到不同的子图中。这类似于以下示例:

f, (ax1, ax2) = plt.subplots(1,2)
ax1.plot(A, B1, label='...')
ax1.plot(A, B2, label='...')
...
ax2.plot(A, D1, label='...')
ax2.plot(A, D2, label='...')
...
ax1.legend(loc='best')
ax2.legend(loc='best')
plt.show()

这个想法是创建一个axes
ax
和一个双轴
ax2=ax.twinx()
,然后将每个数据帧绘制到其中一个数据帧上,
df.plot(ax=ax)
df2.plot(ax=ax2)

相反,如果你想有两个独立的绘图(这一点上的问题不清楚),你可以通过

fig, (ax, ax2) = plt.subplots(ncols=2)
并删除
twinx
调用


我意识到还没有其他人投票支持这一点。很好的解释和可靠的数据。
fig, (ax, ax2) = plt.subplots(ncols=2)