Matplotlib 그림 facecolor (배경색)
누군가 그림의 얼굴 색상을 설정할 때 아래 코드가 작동하지 않는 이유를 설명해 주시겠습니까?
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")
. 그러나 facecolor 설정은 선택되지 않습니다. 왜?
당신의 도움을 주셔서 감사합니다.
savefig
그림의 배경에 대한 얼굴색을 재정의 하기 때문 입니다.
(실제로 이것은 의도적 인 것입니다 ... facecolor
kwarg를 사용하여 저장된 그림의 배경색을 savefig
.
가장 쉬운 해결 방법은 바로 수행하는 것입니다 fig.savefig('whatever.png', facecolor=fig.get_facecolor(), edgecolor='none')
(실제 그림의 기본 가장자리 색상이 흰색이므로 저장된 그림 주위에 흰색 테두리가 표시되므로 여기서 가장자리 색상을 지정합니다).
도움이 되었기를 바랍니다.
이니셜로 선택한 색상을 얻으려면 transparent 키워드를 사용해야했습니다.
fig=figure(facecolor='black')
이렇게 :
savefig('figname.png', facecolor=fig.get_facecolor(), transparent=True)
savefig
에 대한 자체 매개 변수가 facecolor
있습니다. 받아 들인 대답보다 더 쉬운 방법은 매번 두는 대신 한 번만 전역 적으로 설정하는 것입니다 facecolor=fig.get_facecolor()
.
plt.rcParams['axes.facecolor']='red'
plt.rcParams['savefig.facecolor']='red'
참고 URL : https://stackoverflow.com/questions/4804005/matplotlib-figure-facecolor-background-color
'programing' 카테고리의 다른 글
SQL Server Management Studio에서 줄 바꿈하는 방법 (0) | 2020.11.17 |
---|---|
onAnimationEnd에서 Android 애니메이션이 완료되지 않았습니다. (0) | 2020.11.17 |
iframe에서 상위 창의 요소에 액세스 (0) | 2020.11.17 |
로컬 네트워크에서 GAE dev 앱 서버에 액세스 할 수있는 방법이 있습니까? (0) | 2020.11.17 |
Selenium 체크 박스 속성 "선택됨" (0) | 2020.11.17 |