2014-10-14 4 views
1

게시 된 기사 및 파워 포인트 슬라이드에서 사용하고 싶은 그림을 종종 만듭니다. 인쇄물이 좋아 보이는 것이 슬라이드에서 항상 좋아 보이지는 않습니다. matplotlib 그림을 만들고 저장 한 다음 글꼴과 선 두께를 업데이트하고 다시 저장하고 싶습니다. 업데이트 된 rcParams를 만든 그림으로 어떻게 푸시 할 수 있습니까? 예를 들어이미 생성 된 matplotlib 그림의 글꼴 및 선 두께 변경

:

import numpy as np 
import matplotlib.pylab as plt 
x = np.arange(100)/99.*4.*np.pi 
y = np.sin(x) 
plt.plot(x,y) 
plt.xlabel('x') 
plt.ylabel('y') 
plt.title('Nice title') 
plt.savefig('default.pdf') 
update_rcParams(font=20, thick=5) 
plt.savefig('publish.pdf') 
update_rcParams(font=30, thick=10) 
plt.savefig('slide.pdf') 

update_rcParams은 무엇과 같을 것이다?

답변

1

rcParams가 여러 줄의 개체 (줄거리 개체, 텍스트 개체 등)를 모두 인스턴스화하는 데 사용되므로 사용자가 그와 같이 크게 변경하지 못할 것이라고 생각합니다. 그리고 그들이 만들어진 후에 그들은 rcParams가 무엇인지 전혀 신경 쓰지 않습니다. 그러나 객체 자체를 수정할 수 있습니다 ... 예를 들어 축 레이블의 글꼴 크기를 변경하여 실제 텍스트 객체를 가져 와서 수정할 수 있습니다. 당신이 (즉, 방금 ax.set_xlabel() 또는 plt.xlabel()라고도 함) 개별 개체를 저장하지 않은 경우

import matplotlib.pyplot as plt 

fig, ax = plt.subplots() 
xlbl = ax.set_xlabel('X axis label') 

xlbl.set_fontsize(20) 

plt.show() 

또는, 당신은 축 계층 구조에서 잡아 수 있습니다 : 당신이 원하는 전면적 인 변화를

ax = plt.gca() # gets the current Axes object 
xlbl = ax.xaxis.get_label() # gets the Text object for the x axis label 

을 관심 항목을 수정하는 고유 한 기능을 작성해야합니다. 잘하면 이것이 올바른 방향으로 나아갈 수 있기를 바랍니다.