Spyder:如何让 pandas.plot(subplots =True) 在关闭情节 window 后再次显示?
Sypder: How to make pandas.plot(subplots =True) show again, after closing plot window?
我已经在整个 pandas 数据帧 df
上使用以下
创建了子图
plots = df.plot(subplot=True, layout=(2,3))
在此之后,我在 Spyder 中单独 window 获得了情节。
但是,如果我关闭此 window 并想再次显示绘图,我将无法执行此操作。 plots.show()
不起作用,因为 plots
被创建为 numpy 数组。我查看了另外两个类似的帖子,但无法弄清楚。
1.
2. matplotlib show figure again
创建一个单独的图形和轴对象并将轴传递给 pandas.plot
。这使您可以在不阻塞代码的情况下保持图窗打开。我喜欢这个,因为我可以更新图形并使用 fig.canvas.draw
后跟 fig.show
来显示更新。
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({x: range(5) for x in 'abcdef'})
fig, ax = plt.subplots()
df.plot(ax=ax, subplots=True, layout=(2,3))
fig.show()
然后,如果您关闭图形 window,您可以通过再次调用 fig.show
将其恢复。您还可以像我之前提到的那样修改单个子图。
plots[0,0].axhline(3)
fig.canvas.draw()
fig.show()
我已经在整个 pandas 数据帧 df
上使用以下
plots = df.plot(subplot=True, layout=(2,3))
在此之后,我在 Spyder 中单独 window 获得了情节。
但是,如果我关闭此 window 并想再次显示绘图,我将无法执行此操作。 plots.show()
不起作用,因为 plots
被创建为 numpy 数组。我查看了另外两个类似的帖子,但无法弄清楚。
1.
创建一个单独的图形和轴对象并将轴传递给 pandas.plot
。这使您可以在不阻塞代码的情况下保持图窗打开。我喜欢这个,因为我可以更新图形并使用 fig.canvas.draw
后跟 fig.show
来显示更新。
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({x: range(5) for x in 'abcdef'})
fig, ax = plt.subplots()
df.plot(ax=ax, subplots=True, layout=(2,3))
fig.show()
然后,如果您关闭图形 window,您可以通过再次调用 fig.show
将其恢复。您还可以像我之前提到的那样修改单个子图。
plots[0,0].axhline(3)
fig.canvas.draw()
fig.show()