【问题标题】:Matplotlib - how to underline the x-axis ticklabels?Matplotlib - 如何下划线 x 轴刻度标签?
【发布时间】:2019-12-18 16:57:49
【问题描述】:

我试图使用 plot.rc 为 xticklabels 下划线,但是

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

但是上面的代码给了我一个错误`'tuple' object does not support item assignment'

同样的错误:

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

这里,xtext[0]x-axis label valuesndarrayxtext[1]Text xticklabel objectssilent_list

如何在 xtick 标签下划线?

【问题讨论】:

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


    【解决方案1】:

    考虑以下解决方案。在这里,我正在创建一个带有下划线的修改刻度标签的新列表。然后我使用轴对象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()
    

    【讨论】:

    • 在我的例子中它只是写了\underline加上xtick标签:(
    猜你喜欢
    • 1970-01-01
    • 2012-03-14
    • 2011-09-18
    • 2021-06-14
    • 2019-06-20
    • 2013-03-24
    • 1970-01-01
    • 2020-03-29
    相关资源
    最近更新 更多