在matplotlib中,我想更改colorbar
标签的字体属性。例如,我希望标签显示为粗体。
以下是一些示例代码:
from matplotlib.pylab import *
pcolor(arange(20).reshape(4,5))
cb = colorbar(label='a label')
结果,我希望“标签”显示为粗体:
本网站上的所有其他答案仅回答如何更改ticklabels
或更改所有字体(通过修改matplotlibrc
文件)
答案 0 :(得分:12)
作为unutbu答案的替代方案,您可以利用颜色条是图中另一个轴实例的事实,并设置标签字体,就像设置任何y标签一样。
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()
答案 1 :(得分:10)
此双线程可以与任何Text属性(http://matplotlib.org/api/text_api.html#matplotlib.text.Text)
一起使用cb = plt.colorbar()
cb.set_label(label='a label',weight='bold')
答案 2 :(得分:10)
我同意francesco,但即使缩短到一行:
plt.colorbar().set_label(label='a label',size=15,weight='bold')
答案 3 :(得分:2)
也许使用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()
答案 4 :(得分:1)
要更改颜色栏刻度和标签的字体大小:
clb=plt.colorbar()
clb.ax.tick_params(labelsize=8)
clb.ax.set_title('Your Label',fontsize=8)
如果您有子批次,也可以使用此方法:
plt.tight_layout()
plt.subplots_adjust(bottom=0.05)
cax = plt.axes([0.1, 0, 0.8, 0.01]) #Left,bottom, length, width
clb=plt.colorbar(cax=cax,orientation='horizontal')
clb.ax.tick_params(labelsize=8)
clb.ax.set_title('Your Label',fontsize=8)