Python Matplotlib: 使用对数刻度绘制VT值分布图
可以使用Matplotlib中的plt.yscale('log')函数将y轴刻度设置为对数刻度,这样y轴的数值会以10的幂次表示,但刻度值不会改变。示例如下:
plt.figure(figsize=(16,8),dpi=80)
plt.yscale('log') # 设置y轴为对数刻度
for k in dir:
# ...
x=np.sort(vt0_min)
y=np.arange(1,len(x)+1)/len(x)
plt.plot(x,y,marker='.',linestyle=':',label='%s %d pcs min vt=%f'%(k,len(vt0_min),min(vt0_min)))
# ...
plt.ylabel('cumulative probability (log scale)') # 修改y轴标签
plt.legend(loc='lower right',fontsize='small')
plt.tight_layout()
plt.grid(b=bool)
plt.title('vt distribution')
t = time.strftime('%Y%m%d-%H%M',time.localtime(time.time()))
plt.savefig(path1+'min_vt_value_distribution.png')
plt.close()
这样y轴的标签就会变为cumulative probability (log scale),并以对数刻度显示。注意,对数刻度下,y轴的数值并不会改变,因此不需要对y轴数值进行任何转换。
原文地址: https://www.cveoy.top/t/topic/oDJR 著作权归作者所有。请勿转载和采集!