使⽤python的matplotlib将字典绘图
⽬录
字典绘图
获取字典的键与值
绘图
虽然在上⼀个步骤⾥,分别获得了字典的 键和值的列表,但是获得的返回值类型,并不是list,因此需要⽤list()进⾏类型转化,才可进⾏下⼀步的绘图(不进⾏list()转化,则会报错)
matplotlib中subplot若想x轴上的刻度,按⾃⼰的想法标注,则需将数字类型的数据,转化为str类型。
话不多说哈(有点疲惫了 ,好吧,犯懒了),直接“数形结合”上代码,代码中解释吧
import matplotlib.pyplot as plt
fig = plt.figure()
dict1={-1.2545354:2,-1.2315456:3,-2.146456465:5}
dict2={'-1.2545354':0,'-1.2315456':3,'-2.146456465':6}
dict3={'-1.2545354':1,'-1.2315456':4,'-2.146456465':2}
print(dict1.keys())
x1=list(dict1.keys())
x1=list(map(str,x1))#使⽤list(map(str,x1))⽅法,将返回⼀个列表,列表中所有元素是str类型
#x1=round(x1,2)
print(x1)
y1=list(dict1.values())
x2=list(dict2.keys())
y2=list(dict2.values())
x3=list(dict3.keys())
y3=list(dict3.values())
# print(x)
# print(y)
plt.subplot(211)#切割⼦图,数字含义是将整个画⾯切割为2⾏1列,当前选⽤第1个切割块
plt.plot(x1,y1,label='xl1')#label为设置图例标签,需要配合legend()函数才能显⽰出
plt.plot(x2,y2,label='xl2')
plt.plot(x3,y3,label='xl3')
plt.xlabel('位置')
plt.ylabel('病灶个数')
plt.title('分布图')
plt.legend()#需要配合这个才能显⽰图例标签
fig.tight_layout(h_pad=2)#设置⼦图间的间隙,还有参数w_pad等
plt.subplot(212)#切割⼦图,数字含义是将整个画⾯切割为2⾏1列,当前选⽤第2个切割块
plt.bar(x1,y1)
plt.xlabel('位置')
plt.ylabel('病灶个数')
plt.title('总体分布图')
plt.show()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论