使用plt.text在绘图中打印计算值

时间:2012-07-28 02:02:40

标签: python plot matplotlib

嗨有没有办法将脚本计算出的值直接打印到正在制作的图中?

例如说我有一个我读过的数据文件。然后我想计算条目总数,条目总和,平均值和标准差。然后我怎样才能将这些值直接打印到我绘制的直方图上?

我在这里http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.text,但它没有帮助。提前致谢

实施例

file = 'myfile.txt'
d = np.loadtxt(file)
C = d[:,3]

S = sum(C))   
avg = np.mean(C)
sigma = np.std(C)
N = len(C)

我尝试了这个但是没有用

n, nbins, patches = plt.hist(C, 20)
plt.title("My Histogram")
plt.text(0,0, 'Sum of vales ='S  '\n' 'Total number of entries = ' N  
         '\n' 'Avg= 'avg   '\n'   'Standard Deviation = ' sigma)
ply.show() 

1 个答案:

答案 0 :(得分:2)

我认为您忘记在show()

之后致电plot(...)

更新

我在评论中与OP聊天。事实证明问题是syntax error。他的原始代码

plt.text(0,0, 'Sum of vales ='S  '\n' 'Total number of entries = ' N '\n' 'Avg= 'avg   '\n'   'Standard Deviation = ' sigma)

他尝试以这种方式连接字符串'some string' variable 'another string'。他问我为什么'some string' ' another string'没问题,因为Python会自动将相邻的字符串连接成一个字符串。在这种情况下,他得到'some string another string',这是一个有效的python语句。