Matplotlib 그림 얼굴색(배경색)
누가 피규어의 페이스 컬러를 설정할 때 아래 코드가 작동하지 않는 이유를 설명해주실 수 있나요?
import matplotlib.pyplot as plt
# create figure instance
fig1 = plt.figure(1)
fig1.set_figheight(11)
fig1.set_figwidth(8.5)
rect = fig1.patch
rect.set_facecolor('red') # works with plt.show().
# Does not work with plt.savefig("trial_fig.png")
ax = fig1.add_subplot(1,1,1)
x = 1, 2, 3
y = 1, 4, 9
ax.plot(x, y)
# plt.show() # Will show red face color set above using rect.set_facecolor('red')
plt.savefig("trial_fig.png") # The saved trial_fig.png DOES NOT have the red facecolor.
# plt.savefig("trial_fig.png", facecolor='red') # Here the facecolor is red.
그림의 높이와 너비를 지정할 때fig1.set_figheight(11)
fig1.set_figwidth(8.5)
이것들은 명령에 의해 선택됩니다.plt.savefig("trial_fig.png")
그러나 얼굴색 설정이 선택되지 않습니다. 왜죠?
도와주셔서 고마워요.
왜냐하면.savefig
그림 배경의 얼굴색을 재정의합니다.
(이것은 의도적인 것입니다, 사실...이 가정은 저장된 그림의 배경색을 다음과 같이 제어할 수 있습니다.facecolor
로의 싸움.savefig
하지만 혼란스럽고 일관성 없는 기본값입니다!)
가장 쉬운 해결 방법은fig.savefig('whatever.png', facecolor=fig.get_facecolor(), edgecolor='none')
(실제 그림의 기본 가장자리 색은 흰색이므로 저장된 그림 주위에 흰색 테두리가 표시됩니다.)
savefig
에 대한 고유한 매개 변수가 있습니다.facecolor
제 생각에 허용된 답변보다 훨씬 쉬운 방법은 한 번만 글로벌하게 설정하는 것입니다.facecolor=fig.get_facecolor()
매번:
plt.rcParams['axes.facecolor']='red'
plt.rcParams['savefig.facecolor']='red'
이니셜과 함께 선택한 색상을 얻으려면 투명 키워드를 사용해야 했습니다.
fig=figure(facecolor='black')
다음과 같이:
savefig('figname.png', facecolor=fig.get_facecolor(), transparent=True)
추가만 하면 됩니다.facecolor='red'
에게plt.savefig()
충분합니다.예:
plt.savefig('figname.png', facecolor='red')
언급URL : https://stackoverflow.com/questions/4804005/matplotlib-figure-facecolor-background-color
'programing' 카테고리의 다른 글
PHP CLI 스크립트에서 홈 디렉토리를 가져오는 방법은 무엇입니까? (0) | 2023.08.28 |
---|---|
AJAX 오류가 있는 서버 응답을 받으시겠습니까? (0) | 2023.08.28 |
MySQL이 캐시하는 쿼리를 MariaDB가 캐시하지 않습니까? (0) | 2023.08.28 |
파이썬에서 리눅스 환경 변수를 설정 해제하는 올바른 방법은 무엇입니까? (0) | 2023.08.28 |
iOS 개발:장치에서 메모리 부족 경고를 발생시키는 방법은 무엇입니까? (0) | 2023.08.23 |