2017-05-11 59 views
1

我想要做一些真正基本的matplotlib的東西,它不斷提出錯誤。matplotlib屬性錯誤的問題

C:\Users\Robert\Anaconda3\python.exe 
C:/Users/Robert/PycharmProjects/linear_regression/ML.py 
Traceback (most recent call last): 
    File "C:/Users/Robert/PycharmProjects/linear_regression/ML.py", line 9, in <module> 
plot.savefig('ScatterIris.png') 
AttributeError: 'PathCollection' object has no attribute 'savefig' 

首先我無法使用.show()屬性,然後我無法使用.savefig()屬性。我的matplotlib安裝有問題嗎?

僅供參考,我試着將matplotlibrc中matplotib的後端更改爲兩個不同的,每次都有相同的錯誤。

編輯@ nbryans

plt.scatter(df['SepalLengthCm'], df['PetalLengthCm']).savefig('ScatterIris.png') 

同樣的錯誤出現

編輯2:

呀,你們是對的,我可以保存數據,並使用show()屬性/方法。 謝謝!

+1

應該是'plt.savefig()' – nbryans

+0

您編輯不要緊......你還在努力調用一個不存在於'PathCollection'對象中的方法('savefig')。 – blacksite

+1

所以你可以選擇[接受]的任何答案(https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)(無所謂哪一個,他們是大致相同),這樣這個問題就不會解決。 – ImportanceOfBeingErnest

回答

1

你需要調用pyplot的savefig方法。

import pandas as pd 
import seaborn as sns 
import matplotlib.pyplot as plt 
import numpy as np 

df = pd.read_csv('Iris.csv') 

plt.scatter(df['SepalLengthCm'], df['PetalLengthCm']) 
plt.savefig('ScatterIris.png') 

也是如此,如果你正在使用的熊貓繪圖功能,

import pandas as pd 
import seaborn as sns 
import matplotlib.pyplot as plt 
import numpy as np 

df = pd.read_csv('Iris.csv') 
df.plot(kind="scatter", x='SepalLengthCm', y= 'PetalLengthCm') 

plt.savefig('ScatterIris.png') 
0

你不需要指定一個plot變量,你應該只是做plt.show()。嘗試:

plt.scatter(df['SepalLengthCm'], df['PetalLengthCm']) 

plt.savefig('ScatterIris.png') # or plt.show() 
0

這是因爲savefig() is a function of pyplot (i.e. PLT ) and not of the recently created plot`。它可以保存您創建的當前情節。因此,它應該是:

plt.savefig() 

類似的,只是看你的情節,那將是

plt.show()