在pyplot中绘制计算值

0 投票
1 回答
604 浏览
提问于 2025-04-18 01:52

我计算了一些值,比如 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))

另外,关于字符串格式化,还有一个有趣的讨论帖

撰写回答