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)