在图例标签上包含带有python中特殊字符的变量

时间:2019-02-20 11:52:26

标签: python matplotlib legend

这是我的代码的一部分,我想在图例中添加一些变量:

c1 = raw_input("enter c1: ")
c2 = raw_input("c2: ")

mainax.plot(x, y, label=r"power law, $n$ =" + c1 + "$\times$ 10$^" + c2 + "cm$^{-3}$")

如果我删除变量,它应该等效于以下内容:

mainax.plot(x, y, label=r"power law, $n$ = 2.1 $\times$ 10$^{12}$ cm$^{-3}$")

最后我想要的是这样的

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用.format字符串格式设置选项来获取所需的标签。在这里,您必须确保使用正确数量的大括号,因为.format会占据其中的一个:

c1 = "2.1"
c2 = "12"
label = r'power law, $n$ = {} $\times$ 10$^{{{}}}$ cm$^{{-3}}$'.format(c1, c2)

plt.plot([1,2], [1,2], label=label)
plt.legend()

plt.show()

enter image description here