gpt4 book ai didi

python - Matplotlib:设置标签字体而不设置标签

转载 作者:太空宇宙 更新时间:2023-11-03 17:24:51 25 4
gpt4 key购买 nike

我想编写一个函数来更改我传递给它的图中所有标签的字体,而无需实际更改标签本身。

这对于我已经创建的并且需要具有统一字体样式的图形很有用。

目前我正在使用多个字体词典,如下所示:

titleFont = {'family' : 'Arial',
'weight' : 'bold',
'size' : 20}
axesFont = {'family' : 'Arial',
'weight' : 'bold',
'size' : 18}
axesTickFont = {'family' : 'Arial',
'weight' : 'bold',
'size' : 16}`

然后使用以下命令设置字体大小:

ax.set_title('My Plot',**titleFont)

问题是,使用上面的命令,我需要指定绘图标题,而我只想设置现有标题的字体样式。

像这样的东西是理想的:

def set_fonts(axis):
axis.set_title(**titleFont)
axis.set_ylabel(**axesFont)
axis.set_xlabel(**axesFont)
return axis

最佳答案

这可能不是最干净的解决方案,但它应该可以满足您的要求:

def set_fonts(axis):
axis.set_title(axis.get_title(), **titleFont)
axis.set_ylabel(axis.get_ylabel(), **axesFont)
axis.set_xlabel(axis.get_xlabel(), **axesFont)
return axis

否则,您可以直接访问相关的艺术家实例,从而避免重新分配文本:

def set_fonts(axis):
plt.setp(axis.title, **titleFont)
plt.setp(axis.xaxis.label, **axesFont)
plt.setp(axis.yaxis.label, **axesFont)
return axis

关于python - Matplotlib:设置标签字体而不设置标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32721281/

25 4 0