Matplotlib-如何在x轴刻度标签下划线?

时间:2019-08-12 04:31:59

标签: python python-3.x numpy matplotlib numpy-ndarray

我试图使用plot.rc给xticklabel加下划线,但

plt.rc('text', usetex=True)
xtext = plt.xticks()
xtext[0] = tuple(r'\underline{}'.format(x) for x in xtext[0])

但是上面的代码给了我一个错误的''tuple'对象不支持项目分配'

相同错误:

xtext[1] = plt.text(0,0,r'\underline254')

在这里,xtext[0]ndarray的{​​{1}},而x-axis label valuesxtext[1]的{​​{1}}

如何在xtick标签上加下划线?

1 个答案:

答案 0 :(得分:0)

请考虑以下解决方案。在这里,我正在创建带下划线的修改后的刻度标签的新列表。然后,使用轴对象axset_xticklabels将它们分配为新的刻度标签。由于某种原因,我已将format替换为使用%的旧格式的字符串格式,因为format方法仅在第一个字符下划线。

import matplotlib.pyplot as plt
from matplotlib import rc
rc('text', usetex=True)

fig, ax = plt.subplots()
plt.plot(range(5))
xtext = plt.xticks()

xtext_new = [r'\underline{%s}' %x for x in xtext[0]]
ax.set_xticklabels(xtext_new)
plt.show()

enter image description here