使用matplotlib绘制文本时,使用%s,%f,....

时间:2015-01-23 23:15:04

标签: python matplotlib

我目前正在使用matplotlib(实际上是pylab)进行绘图,并希望执行以下操作:

  1. 声明一个变量,例如a=2.

  2. 在我的图表上打印一些文字:plt.text(x,y,r'an equation involving "a"')

  3. 我已经做了什么来绘制该等式是写plt.text(x,y,r'$2x+3.5$')(这将使用LaTeX)。然而,我不想写自己2,而是想写plt.text(x,y,r'$%fx+3.5$',a)之类的东西。在这种情况下,“a”作为参数传递,这将不起作用。

    此外,如果a的类型为:numpy.float64?

    ,该怎么办?

    无论如何要完成我想要的东西吗?

1 个答案:

答案 0 :(得分:0)

您可以将字符串添加到一起。

import matplotlib.pyplot as plt

ys = [x**2 + 3.5 for x in xrange(20)]
xs = range(20)
plt.plot(xs,ys)

a = '2'

plt.text(6, 50,r'$'+a+'x+3.5$')
plt.show()

如果不是一个字符串,你可以把它变成一个! str(a)

或使用string formatting