import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
from numpy import pi
result = {'00000': 351, '00001': 18, '00010': 64, '00011': 236, '00100': 32, '00101': 226, '00110': 62, '00111': 11}
# 根据测量结果,生成对应的柱状图
bitstring = []
counts = []
# 获取比特串以及对应的测量次数,存储到列表中
for bit_string,count in result.items():
bitstring.append(bit_string)
counts.append(count/1000)
fig = plt.figure()
# 生成柱状图
plt.bar(bitstring,counts,0.5,color="blue")
# 指定坐标轴名称
plt.xlabel("bitstring")
plt.ylabel("prob")
for a,b,i in zip(bitstring,counts,range(len(counts))): # zip 函数
# plt.text(x, y, s, fontsize, verticalalignment,horizontalalignment,rotation , **kwargs)
# x,y表示标签添加的位置(必选),默认是根据坐标轴的数据来度量的,是绝对值,也就是说图中点所在位置的对应的值;
# s表示标签的符号(必选);fontsize:加标签字体大小了,取整数。
# verticalalignment表示垂直对齐方式 ,可选 ‘center’ ,‘top’ , ‘bottom’,‘baseline’ 等
# horizontalalignment表示水平对齐方式 ,可以填 ‘center’ , ‘right’ ,‘left’ 等
plt.text(a,b+0.01,"%.2f"%counts[i],ha='center',fontsize=8)
plt.title("prob distribution")
plt.show()
plt.savefig("barChart.png")
可视化效果:
|