在pyplot中绘制计算值
我计算了一些值,比如 p1=3.5 和 p2=4.5(这里只是举个例子)。这两个值都是 numpy 对象。现在我想在我的 pyplot 中使用这些值。
我试过了
plt.text(0.0,0.0,'c for 13.6<M_{200}<13.7 =',p1)
但是我遇到了一个错误,提示 AttributeError: 'numpy.float64' object has no attribute 'items'
我使用的是 Python 2.6,我也试过用 plt.figtext,但还是无法使用我计算出来的值。
我知道我可以这样写 plt.text(0.0,0.0,'c for 13.6<M_{200}<13.7 =3.5')
,这样能得到我想要的结果,但我需要对很多值都这么做!
1 个回答
1
你需要提前创建好完整的字符串
plt.text(0.0, 0.0, 'c for 13.6<M_{200}<13.7 = %g' % p1)
在这里,我使用了旧的字符串格式化语法,这样就不用担心括号的转义问题。使用新的字符串格式化语法,同样的代码可以写成
plt.text(0.0, 0.0, 'c for 13.6<M_{{200}}<13.7 = {}'.format(p1))
另外,关于字符串格式化,还有一个有趣的讨论帖。