【问题标题】:How to change the font weight of individual colorbar labels?如何更改单个颜色条标签的字体粗细?
【发布时间】:2019-06-04 09:59:17
【问题描述】:

我想为每个颜色条标签设置不同的字体粗细。

我尝试让 LaTeX 以下列方式格式化标签:

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
im = ax.imshow(np.random.rand(50, 50)/20)
cbar = ax.figure.colorbar(im, ticks=np.arange(0, 0.05, 0.01))
cbar.ax.set_yticklabels([r'{\fontsize{50pt}{3em}\selectfont{}{0}}',
                         r'{\fontsize{40pt}{3em}\selectfont{}{0.01}}',
                         r'{\fontsize{30pt}{3em}\selectfont{}{0.03}}',
                         r'{\fontsize{20pt}{3em}\selectfont{}{0.03}}',
                         r'{\fontsize{10pt}{3em}\selectfont{}{0.04}}',
                         r'{\fontsize{1pt}{3em}\selectfont{}{0.05}}', ])

但这只会将标签文本更新为整个字符串(例如,{\fontsize{50pt}{3em}\selectfont{}{0}})。 pyplot TeX demo 适合我。即使这个解决方案可行,它也不是理想的,因为我可能需要手动指定所有内容。

question 中会更方便。在那里,我了解到可以通过调用来更新常规 x 和 y 轴的单个标签的字体大小

label = axes.yaxis.get_major_ticks()[2].label
label.set_fontsize(size)

set_fontsize 替换为set_fontweight 会正确更新所选标签的权重。 不幸的是,我找不到与axes.yaxis.get_major_ticks()[2].label 对应的颜色条。

是否可以直接更改颜色栏各个标签的字体粗细?直接我的意思是不使用诸如在现有标签上方绘制一些新文本之类的解决方法。 如果这是不可能的,那么在现有标签上方绘制文本的解决方案也将不胜感激。

谢谢!

【问题讨论】:

  • set_fontweight 应该可以工作。你能在没有的地方显示minimal reproducible example 吗?
  • 嗨@ImportanceOfBeingErnest,感谢您坚持set_fontweight 应该工作!当人们找到正确的方法来提取定义标签的文本对象时,它就会起作用。我将发布我自己问题的答案。

标签: python-3.x matplotlib colorbar


【解决方案1】:

正如@ImportanceOfBingErnest 所指出的,set_fontweight 也可用于设置单个颜色条标签的权重。 我必须尝试几件事才能找到哪个调用会给我定义颜色条标签的文本对象。可通过cbar.ax.get_yticklabels() 访问它们。 下面的代码 sn-p 现在可以正确更改第二个颜色条标签的权重:

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
im = ax.imshow(np.random.rand(50, 50)/20)
cbar = ax.figure.colorbar(im, ticks=np.arange(0, 0.05, 0.01))
cbar.ax.get_yticklabels()[1].set_fontweight(1000)
plt.show()

Output of code (not enough reputation for inline images)

【讨论】:

    猜你喜欢
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 2017-12-23
    • 2011-05-08
    • 2014-05-11
    • 2013-07-24
    • 2018-10-28
    相关资源
    最近更新 更多