我想创建一个二维柱状图,在每一个箱子里,这个箱子代表的数值显示在那个箱子的中心。例如,一个大小为5x5的hist2d
在最终图形中有25个值。这对于PyROOT来说是很好的,但是我需要在这里使用matplotlib/pyplot。在
根据第一个答案,尝试了以下方法:
fig, ax = plt.subplots()
ax.set_aspect("equal")
hist, xbins, ybins, im = ax.hist2d(x, y, bins=(4, [1,2,3,5,10,20]))
ax.text(xbins[1]+0.5,ybins[1]+0.5, "HA", color="w", ha="center", va="center", fontweight="bold")
img = StringIO.StringIO()
plt.savefig(img, format='svg')
img.seek(0)
print("%html <div style='width:500px'>" + img.getvalue() + "</div>")
没有任何错误信息,但是第一个箱子里根本没有显示“HA”。我正在用齐柏林飞艇编程,所以我需要从缓冲区取img。。。在
要注释
hist2d
图,就像任何其他绘图一样,可以使用matplotlib的text
方法。要注释的值由返回的直方图给出。注释的位置由柱状图边缘(加上一半的bin宽度)给出。然后你可以循环所有的箱子,并在每个箱子里放一个文本。在如果只需要一个注释,例如:
^{2}$会产生
相关问题 更多 >
编程相关推荐