我试图使用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 values
是xtext[1]
的{{1}}
如何在xtick标签上加下划线?
答案 0 :(得分:0)
请考虑以下解决方案。在这里,我正在创建带下划线的修改后的刻度标签的新列表。然后,使用轴对象ax
和set_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()