添加子图之后,个别绘图有效,但是没有任何内容显示出来。

29 浏览
0 Comments

添加子图之后,个别绘图有效,但是没有任何内容显示出来。

我正在尝试使用pandas.plot()方法创建四个子图。在单独绘制时,它们显示正常,如下所示:\n[图片链接](https://i.stack.imgur.com/q4ojT.png)\n但一旦我开始使用subplot,它就变成了这样:\n[图片链接](https://i.stack.imgur.com/CGv16.png)\n我知道可能是命名绘图对象或使用pyplot而不是pandas的.plot方法有关,但在尝试了不同的方法后仍然无法解决。任何提示都将不胜感激。

0
0 Comments

问题出现的原因是在添加subplot之后,图形没有显示出来。这可能是因为在添加subplot之后,没有使用plt.show()函数来显示图形。解决方法是在添加subplot之后,添加plt.show()函数来显示图形。

具体的解决方法如下:

fig = plt.figure()
ax = fig.add_subplot(221)
plt.plot(x,y)
ax = fig.add_subplot(222)
plt.plot(x,z)
...
plt.show()

这样就可以解决问题了。

0
0 Comments

问题出现的原因是在使用subplot时没有正确使用ax参数。解决方法是在绘制每个子图时使用ax参数指定要在哪个子图上进行绘制。

在上面的代码中,创建了一个包含2个子图的figure对象,并将其分配给变量f。然后,使用plt.subplots()函数创建了两个子图对象ax1和ax2,并将它们分配给ax1和ax2变量。接下来,使用df.foo.plot()和df.bar.plot()分别在ax1和ax2上绘制了两个图表。

正确的代码如下:

df = pd.DataFrame({"foo":[4,5,6], "bar":[1,4,2]})
f, (ax1, ax2) = plt.subplots(2, 1, figsize=(4,3))
df.foo.plot(ax=ax1)
df.bar.plot(ax=ax2)
plt.show()

添加了plt.show()函数来显示图表。运行这段代码后,会显示两个子图,分别展示了df.foo和df.bar的数据。

0