Elg*_*rov 4 matplotlib python-3.x
我是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()
Run Code Online (Sandbox Code Playgroud)
您可以通过获得xticklabels ax.get_xticklabels()。这将返回matplotlib.text.Text实例列表。然后,您可以选择其中之一并用于text.set_color("red")为其着色。
ax.get_xticklabels()[-2].set_color("red")
Run Code Online (Sandbox Code Playgroud)
问题在于,直觉上尚不清楚哪些元素将是我们正在寻找的元素。在这种情况下,它是倒数第二个,因为列表的末尾有一个空的ticklabel。这可能需要测试一下,或在设置它们之前将其打印出来。同样,如果调整图的大小,使更多的刻度标签出现在轴上,则格式化的标签可能突然带有与以前不同的数字。这种情况将需要更多的工作来说明。
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))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
684 次 |
| 最近记录: |