2014-04-19 20 views
6

Trong matplotlib, tôi muốn thay đổi thuộc tính phông chữ cho nhãn colorbar. Ví dụ tôi muốn nhãn xuất hiện đậm.Làm thế nào để thay đổi các thuộc tính phông chữ của nhãn màu matplotlib?

Dưới đây là một số mã ví dụ:

from matplotlib.pylab import * 
pcolor(arange(20).reshape(4,5)) 
cb = colorbar(label='a label') 

và kết quả, nơi tôi muốn "nhãn" xuất hiện táo bạo:

output plot

Tất cả các câu trả lời khác trên trang web này chỉ trả lời cách thay đổi ticklabels hoặc thay đổi tất cả phông chữ nói chung (thông qua sửa đổi tệp matplotlibrc)

Trả lời

2

Có lẽ sử dụng TeX: r'\textbf{a label}'

import numpy as np 
import matplotlib as mpl 
import matplotlib.pyplot as plt 
mpl.rc('text', usetex=True) 

plt.pcolor(np.arange(20).reshape(4,5)) 
cb = plt.colorbar(label=r'\textbf{a label}') 
plt.show() 

enter image description here

12

Để thay thế cho unutbu của câu trả lời, bạn có thể tận dụng thực tế là một thanh màu là một ví dụ trục trong hình và thiết lập font nhãn như bạn sẽ đặt bất kỳ nhãn y nào.

from matplotlib.pylab import * 
from numpy import arange 

pcolor(arange(20).reshape(4,5)) 
cb = colorbar(label='a label') 
ax = cb.ax 
text = ax.yaxis.label 
font = matplotlib.font_manager.FontProperties(family='times new roman', style='italic', size=16) 
text.set_font_properties(font) 
show() 

figure with colorbar

+0

@thengineer: Sử dụng 'family = 'lần new roman', weight = 'bold', style = 'normal'' để có được một nhãn đậm. – unutbu

+0

cảm ơn! Tôi không biết thanh màu chỉ là một trục và nhãn chỉ là một nhãn âm. – thengineer

8

Tôi đồng ý với francesco, nhưng thậm chí rút ngắn để một dòng:

plt.colorbar().set_label(label='a label',size=15,weight='bold') 
Các vấn đề liên quan