网络编程
位置:首页>> 网络编程>> Python编程>> python matplotlib 绘图 和 dpi对应关系详解

python matplotlib 绘图 和 dpi对应关系详解

作者:未名亚柳  发布时间:2023-12-11 18:13:43 

标签:python,matplotlib,dpi

我就废话不多说啦!

dpi=1 600×400

dpi=21200×800

dpi=31800×1200

........

dpi=21(21×600)×(21×400) ---> 12600×8400

示例代码:


...............
...............
     plt_temp=y_axis
     plt_temp.resize(len(y_axis) , 1)
     plt_arr=np.concatenate((plt_arr,plt_temp ), axis=1)
     #print(self.plt_arr)
     if plt_x%1000==0:
       print(plt_x)
     if plt_x%1000==0:
       cm='hot'
       norm = matplotlib.colors.Normalize(vmin=min, vmax=max)
       map=plt.imshow(plt_arr,interpolation='nearest',cmap=cm,norm=norm, origin='upper')
       plt.xticks([])
       plt.yticks([])
       plt.axis('off')
       #plt.colorbar(mappable=map,ax=None,shrink=0.5, pad=0)
       plt.savefig("filename.png", dpi=1320)   #   加参数  ,bbox_inches='tight' ,pad_inches=0  可以得到窄边框图片
       #plt.show()print(plt_x)
   plt_x+=1

temp_str=str(num_now)

return donser_now_lable

............
............

上代码读入一个二进制bin数据文件1.08GB的一部分,数据格式为无包头、小端模式、16位编码的频谱数据dpi=1320,生成名称为filename.png的图片

python matplotlib 绘图 和 dpi对应关系详解

补充知识:Python绘图问题:Matplotlib中指定图片大小

我们在用Matplotlib画图的时候可能会遇到当在一张面板上显示太多的图片时,plt.show出来就会显示的很小

像下图的样子

python matplotlib 绘图 和 dpi对应关系详解

这时候用改变子图片间距的方法也解决不了问题:

plt.subplots_adjust(wspace=0.1, hspace=0.2)

于是我们用


plt. figure(figsize=(5,8))
# 可以按5比8的大致 比例增加来增大图片的像素
# 例如 plt. figure(figsize=(10,16))

里面的参数第一个5应该是5列,8是8行,如果不行就是试着换成别的参数 但是需要按照大概的比例

python matplotlib 绘图 和 dpi对应关系详解

按比例增加参数大小以后:

python matplotlib 绘图 和 dpi对应关系详解

这样就好多了!

来源:https://www.cnblogs.com/dzzy/p/9229284.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com