ipython Notebook에서 먼저 pandas Series 객체를 만든 다음 인스턴스 메서드 .hist ()를 호출하여 브라우저에 그림이 표시됩니다.
이 그림을 파일에 저장하는 방법이 궁금합니다 (마우스 오른쪽 버튼을 클릭하고 다른 이름으로 저장하는 것이 아니라 스크립트에 필요한 명령).
답변:
다음 Figure.savefig()
과 같이 방법을 사용하십시오 .
ax = s.hist() # s is an instance of Series
fig = ax.get_figure()
fig.savefig('/path/to/figure.pdf')
로 끝날 필요는 없으며 pdf
많은 옵션이 있습니다. 문서를 확인하십시오 .
또는 pyplot
인터페이스 를 사용하고을 savefig
함수로 호출 하여 가장 최근에 생성 된 Figure를 저장할 수 있습니다.
import matplotlib.pyplot as plt
s.hist()
plt.savefig('path/to/figure.pdf') # saves the current figure
import matplotlib.pyplot as plt
및 plt.close()
.
fig.clf()
하는 경우 그림을 지우려면 할 수 있습니다 .
다음을 사용할 수 있습니다 ax.figure.savefig()
.
import pandas as pd
s = pd.Series([0, 1])
ax = s.plot.hist()
ax.figure.savefig('demo-file.pdf')
이것은 ax.get_figure().savefig()
Philip Cloud의 답변에서 제안한 것보다 실질적인 이점이 없으므로 가장 미적으로 만족스러운 옵션을 선택할 수 있습니다. 실제로 다음 get_figure()
을 반환합니다self.figure
.
# Source from snippet linked above
def get_figure(self):
"""Return the `.Figure` instance the artist belongs to."""
return self.figure
AttributeError: 'numpy.ndarray' object has no attribute 'get_figure'
가 발생하면 여러 열을 플로팅하고있을 가능성이 높습니다s.hist(columns=['colA', 'colB'])
. 이 경우ax
모든 축의 배열이됩니다.ax[0].get_figure()
또는 시도 할 수 있습니다ax[0][0].get_figure()