【问题标题】:Formatting only selected tick labels仅格式化选定的刻度标签
【发布时间】:2017-01-29 19:21:46
【问题描述】:

我是 matplotlib 的新手,并试图找出如何仅更改选定 x 刻度标签的格式。为简单起见,我在下面附上了简单的代码和图表。如何更改仅最后一个 x 刻度标签的字体颜色(本例中为 5.0)?

Code
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4, 5], [50, 40, 60, 70, 50])
plt.show()

【问题讨论】:

    标签: python-3.x matplotlib


    【解决方案1】:

    您可以通过ax.get_xticklabels() 获取 xticklabels。这将返回matplotlib.text.Text 实例的列表。然后,您可以选择其中一个并使用text.set_color("red") 对其进行着色。

    ax.get_xticklabels()[-2].set_color("red")
    

    问题在于,我们无法直观地确定哪些元素是我们正在寻找的元素。在这种情况下,它是倒数第二个,因为在列表的最后有一个空的刻度标签。这可能需要进行一些测试,或者在设置之前将它们打印出来。此外,如果调整绘图的大小,使得轴上出现更多的刻度标签,格式化的标签可能会突然带有与以前不同的数字。这种情况需要更多的工作来解决。


    当然,除了颜色,您还可以更改您喜欢的 text 实例的每个属性,
    ax.get_xticklabels()[-2].set_color("white")
    ax.get_xticklabels()[-2].set_fontsize(14)
    ax.get_xticklabels()[-2].set_weight("bold")
    ax.get_xticklabels()[-2].set_bbox(dict(facecolor="red", alpha=0.9))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      • 1970-01-01
      • 2015-05-25
      • 2014-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多