반응형
컬러 바에서 틱의 색상을 변경하는 방법과 그림에서 제목과 컬러 바의 글꼴 색상을 변경하는 방법을 알고 싶었습니다. 예를 들어, 분명히 temp.png에서는 볼 수 있지만 temp2.png에서는 볼 수 없습니다.
import matplotlib.pyplot as plt
import numpy as np
from numpy.random import randn
fig = plt.figure()
data = np.clip(randn(250,250),-1,1)
cax = plt.imshow(data, interpolation='nearest')
plt.title('my random fig')
plt.colorbar()
# works fine
plt.savefig('temp.png')
# title and colorbar ticks and text hidden
plt.savefig('temp2.png', facecolor="black", edgecolor="none")
감사
해결 방법
이는 matplotlib에서 객체 핸들러의 속성을 검사하고 설정하여 수행 할 수 있습니다.
코드를 편집하고 주석에 몇 가지 설명을 넣었습니다.
import matplotlib.pyplot as plt
import numpy as np
from numpy.random import randn
fig = plt.figure()
data = np.clip(randn(250,250),-1,1)
cax = plt.imshow(data, interpolation='nearest')
title_obj = plt.title('my random fig') #get the title property handler
plt.getp(title_obj) #print out the properties of title
plt.getp(title_obj, 'text') #print out the 'text' property for title
plt.setp(title_obj, color='r') #set the color of title to red
axes_obj = plt.getp(cax,'axes') #get the axes' property handler
ytl_obj = plt.getp(axes_obj, 'yticklabels') #get the properties for
# yticklabels
plt.getp(ytl_obj) #print out a list of properties
# for yticklabels
plt.setp(ytl_obj, color="r") #set the color of yticks to red
plt.setp(plt.getp(axes_obj, 'xticklabels'), color='r') #xticklabels: same
color_bar = plt.colorbar() #this one is a little bit
cbytick_obj = plt.getp(color_bar.ax.axes, 'yticklabels') #tricky
plt.setp(cbytick_obj, color='r')
plt.savefig('temp.png')
plt.savefig('temp2.png', facecolor="black", edgecolor="none")
참조 페이지 https://stackoverflow.com/questions/9662995
반응형
'파이썬' 카테고리의 다른 글
파이썬 목록에 튜플이 있는지 확인하는 방법은 무엇입니까? (0) | 2020.09.17 |
---|---|
파이썬 프로그램에 대한 설정을 저장하는 공식적인 방법은 무엇입니까? (0) | 2020.09.17 |
파이썬 What is the difference between __init__ and __call__? (0) | 2020.09.17 |
파이썬 Can't install psycopg2 with pip in virtualenv on Mac OS X 10.7 (0) | 2020.09.17 |
파이썬 boto를 사용하여 S3 객체의 마지막 수정 된 날짜 시간을 얻으려면 어떻게해야합니까? (0) | 2020.09.17 |
댓글