我知道,這個問題是已知的并且已經討論過了。但我遇到了一個奇怪的行為,可能有人知道為什么:當我運行這個時:
plot = df.plot(kind="box", subplots=True, layout= (7,4), fontsize=12, figsize=(20,40))
fig = plot[0].get_figure()
fig.savefig(str(path) "/Graphics/" "Boxplot_all.png")
plot
它作業得很好。
當我將 kind plot 更改為 ="line" 時,它給出了已知的錯誤......但是為什么呢?我不明白...
plot = df.plot(kind="line", subplots=True, layout= (7,4), fontsize=12, figsize=(20,40))
fig = plot[0].get_figure()
fig.savefig(str(path) "/Graphics/" "Line_all.png")
plot
感謝您的想法和提示。干杯戴夫
uj5u.com熱心網友回復:
這似乎是 Pandas 的不一致之處。根據他們的檔案,確實,DataFrame' 方法.plot()應該回傳
matplotlib.axes.Axes或者numpy.ndarray他們中的
如果您選擇以下kind="line"選項,這是正確的:
>>> df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
columns=['a', 'b', 'c'])
>>> plot=df.plot(subplots=True, layout=(2,2),kind="line")
>>> type(plot)
numpy.ndarray
>>> plot.shape
(2, 2)
但不是用kind="box",你會得到一個熊貓系列:
>>> plot=df.plot(subplots=True, layout=(2,2),kind="box")
>>> type(plot)
pandas.core.series.Series
>>> plot.shape
(3,)
所以,如果使用kind="line",你必須訪問一個二維陣列,所以你應該使用:
fig = plot[0,0].get_figure()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/473651.html
上一篇:在Python中計算衰減率
