首页 > 解决方案 > python中列表中的乳胶表达式用于matplotlib中的标签

问题描述

所以我想用一些tex符号很好地标记一个x轴。我想创建一个这样的列表

import numpy as np
import matplotlib.pyplot as plt

plt.rc('text', usetex=True)
plt.rc('font', family='serif')

xticks = np.linspace(0, -14, 8)
labels = [ r'$\pi\!-\!10^{ x }$' for x in xticks ]

print(xticks, labels)

也就是说,标签应该是一个列表,其中包含与 np.array xticks 不同的指数的适当 LaTex 表达式。问题是,列表labels不包含符号本身的值,x而只包含符号x本身。

标签: pythonlistmatplotliblabel

解决方案


我敢肯定这可以变成一个单行但尝试

labels = []
for x in xticks:
    labels.append(r'$\pi\!-\!10^{{{}}}$'.format(x))

(注意三重括号,烦人但在这里是必要的)

会给你类似的东西

乳胶清单


推荐阅读