首页 > 编程语言 > python matplotlib 绘图 和 dpi对应关系详解
2020
09-24

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

我就废话不多说啦!

dpi=1     600×400

dpi=2    1200×800

dpi=3    1800×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中指定图片大小

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

像下图的样子

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

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对应关系详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。

编程技巧