如何更改matplotlib颜色条标签的字体属性?

时间:2014-04-19 16:05:38

标签: python matplotlib

在matplotlib中,我想更改colorbar标签的字体属性。例如,我希望标签显示为粗体。

以下是一些示例代码:

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

结果,我希望“标签”显示为粗体:

output plot

本网站上的所有其他答案仅回答如何更改ticklabels或更改所有字体(通过修改matplotlibrc文件)

5 个答案:

答案 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()

figure with colorbar

答案 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()

enter image description here

答案 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)