2017-05-11 3 views
1
import pandas as pd 
import seaborn as sns 
import matplotlib.pyplot as plt 
import numpy as np 

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

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

정말 기본적인 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') 

같은 오류가

편집이 제공 :

그래, 바로 내가 그림을 저장하고 쇼() 속성/메소드를 사용했다 사람. 감사합니다.

+1

은'수 plt.savefig()' – nbryans

+0

귀하의 편집 문제가되지 않는 경우, 사실 ... 당신은 여전히 ​​노력하고 'PathCollection' 객체에 존재하지 않는 메소드 ('savefig')를 호출합니다. – blacksite

+1

그래서 [수락] (https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)에 대한 답변을 선택할 수 있습니다 (어떤 것이 든 상관 없습니다). 모두 대략 같음),이 질문은 미해결이되지 않을 것입니다. – ImportanceOfBeingErnest

답변

1

될 것이다. 이 기능을 플로팅 팬더를 사용한 경우

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() 

은 마찬가지로, 당신의 줄거리를보고, 당신이 pyplot의 savefig 메서드를 호출 할 필요가

plt.show()