Art*_*Sbr 2 python matplotlib pandas
我使用matplotlib.plt
和绘制了两个不同的子图pandas.DataFrame.plot
。
两个数字都存储在同一个 pandas 数据框中,我将其称为f
. 您可以在此处下载示例数据。
这些图之一无法用函数来描述(也就是说,一个x
值可以产生两个或多个y
值。这就是导致问题的原因(我正在尝试绘制一个正方形)。
我试过:
f[f['figure'] == 'fig1'].plot(x='x_axis', y='y_axis', legend=False)
f[f['figure'] == 'fig2'].plot(x='x_axis', y='y_axis', legend=False)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我希望将两个子图合并为一个子图。有没有办法在与第一个子图相同的子图中绘制第二个子图?我想将两个数字堆叠在一个子图中。
如果你存储了它的轴对象,你总是可以一次又一次地绘制到同一个图中,例如
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
f[f['figure'] == 'fig1'].plot(ax=ax, x='x_axis', y='y_axis', legend=False)
f[f['figure'] == 'fig2'].plot(ax=ax, x='x_axis', y='y_axis', legend=False)
plt.show()
Run Code Online (Sandbox Code Playgroud)
请注意,这只是如何获取当前轴的一个示例 - 另一个示例可能是
ax = plt.gca()
Run Code Online (Sandbox Code Playgroud)
这里的要点是在pandas的plot命令中用ax
kwarg引用它。