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

(0)

相关推荐

  • OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现

    一.问题 在Python里使用OpenCV时,一般是通过cv2.imread读入图片,然后用plt.imshow显示图片,但最近学习OpenCV时这样做的结果与预期的结果有较大的出入.查找资料后,才明白OpenCV里的imshow()和Matplotlib.pyplot的imshow()在使用上有一些区别,不注意的话很容易就会导致很奇怪的结果. 下面的示例代码及运行结果显示了这种差异: import cv2 import matplotlib.pyplot as plt #以灰度模式读入图片 m

  • Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围

    一.用默认设置绘制折线图 import matplotlib.pyplot as plt x_values=list(range(11)) #x轴的数字是0到10这11个整数 y_values=[x**2 for x in x_values] #y轴的数字是x轴数字的平方 plt.plot(x_values,y_values,c='green') #用plot函数绘制折线图,线条颜色设置为绿色 plt.title('Squares',fontsize=24) #设置图表标题和标题字号 plt.t

  • python matplotlib imshow热图坐标替换/映射实例

    今天遇到了这样一个问题,使用matplotlib绘制热图数组中横纵坐标自然是图片的像素排列顺序, 但是这样带来的问题就是画出来的x,y轴中坐标点的数据任然是x,y在数组中的下标, 实际中我们可能期望坐标点是其他的一个范围,如图: 坐标点标出来的是实际数组中的下标,而我希望纵坐标是频率,横坐标是其他的范围 plt.yticks(np.arange(0, 1024, 100), np.arange(10000, 11024, 100)) #第一个参数表示原来的坐标范围,100是每隔100个点标出一次

  • python matplotlib坐标轴设置的方法

    在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围.坐标轴刻度大小.坐标轴名称等 在matplotlib中包含了很多函数,用来对这些参数进行设置. 我们可以对坐标轴进行设置,设置坐标轴的范围,设置坐标轴上的文字描述等. 基本用法 例如: import numpy as np import pandas as pd import matplotlib.pyplot as plt # 生成x轴上的数据:从-3到3,总共有50个点 x = np.lin

  • 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

  • 基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解

    Pyplot matplotlib.pyplot是一个命令型函数集合,它可以让我们像使用MATLAB一样使用matplotlib.pyplot中的每一个函数都会对画布图像作出相应的改变,如创建画布.在画布中创建一个绘图区.在绘图区上画几条线.给图像添加文字说明等.下面我们就通过实例代码来领略一下他的魅力. import matplotlib.pyplot as plt plt.plot([1,2,3,4]) plt.ylabel('some numbers') plt.show() 上图是我们通

  • Python Matplotlib绘制动画的代码详解

    目录 matplotlib 动画 人口出生率 男女人口总数 雨滴 matplotlib 动画 我们想制作一个动画,其中正弦和余弦函数在屏幕上逐步绘制.首先需要告诉matplotlib我们想要制作一个动画,然后必须指定想要在每一帧绘制什么.一个常见的错误是重新绘制每一帧的所有内容,这会使整个过程非常缓慢.相反地,只能更新必要的内容,因为我们知道许多内容不会随着帧的变化而改变.对于折线图,我们将使用set_data方法更新绘图,剩下的工作由matplotlib完成. 注意随着动画移动的终点标记.原因

  • Python Matplotlib数据可视化模块使用详解

    目录 前言 1 matplotlib 开发环境搭建 2 绘制基础 2.1 绘制直线 2.2 绘制折线 2.3 设置标签文字和线条粗细 2.4 绘制一元二次方程的曲线 y=x^2 2.5 绘制正弦曲线和余弦曲线 3 绘制散点图 4 绘制柱状图 5 绘制饼状图 6 绘制直方图 7 绘制等高线图 8 绘制三维图 总结 本文主要介绍python 数据可视化模块 Matplotlib,并试图对其进行一个详尽的介绍. 通过阅读本文,你可以: 了解什么是 Matplotlib 掌握如何用 Matplotlib

  • Python+matplotlib实现绘制等高线图示例详解

    目录 前言 1. 等高线图概述 什么是等高线图? 等高线图常用场景 绘制等高线图步骤 案例展示 2. 等高线图属性 设置等高线颜色 设置等高线透明度 设置等高线颜色级别 设置等高线宽度 设置等高线样式 3. 显示轮廓标签 4. 填充颜色 5. 添加颜色条说明 总结 前言 我们在往期对matplotlib.pyplot()方法学习,到现在我们已经会绘制折线图.柱状图.散点等常规的图表啦(往期的内容如下,大家可以方便查看往期内容) Python matplotlib底层原理解析 Python利用 m

  • Python matplotlib的spines模块实例详解

    目录 spines 模块详解 Spine 类 Spine 类的定义 Spine 类参数 创建 Spine 对象的实例 创建直线型 Spine 并添加到 axes spine_type=‘circle’ 默认的 Spine 对象的存储和调用 Spine 对象的方法 set_position(self, position) set_bounds() 用法示例 创建多个 yaxis 偏移 axis 多 vertices 的 path 总结 spines 模块详解 matplotlib 设计了一个 sp

  • Python matplotlib绘图可视化知识点整理(小结)

    无论你工作在什么项目上,IPython都是值得推荐的.利用ipython --pylab,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能. 本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找. 这样IPython配置为使用你所指定的matplotlib GUI后端(TK/wxPython/PyQt/Mac OS X native/GTK).对于大部分用户而言,默认的后端就已经够用了.Pylab模式

  • Python matplotlib绘图时指定图像大小及放大图像详解

    matplotlib绘图时是默认的大小,有时候默认的大小会感觉图片里的内容都被压缩了,解决方法如下. 先是原始代码: from matplotlib import pyplot as plt plt.figure(figsize=(1,1)) x = [1,2,3] plt.plot(x, x) plt.show() 关键的代码是plt.figure(figsize=(1,1)),生成的图片如下 修改代码,放大图片: from matplotlib import pyplot as plt pl

  • matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatterplot in 3D. ''' from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np def randrange(n, vmin, vmax): ''' Helper f

  • Python绘图之柱形图绘制详解

    前言 用python编程绘图,其实非常简单.中学生.大学生.研究生都能通过这10篇教程从入门到精通!快速绘制几种简单的柱状图. 1垂直柱图(普通柱图) 绘制普通柱图的python代码如下: (左右滑动可以查看全部代码) # -*- coding:utf-8 -*- # 申明编码格式为utf-8 import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams["font.sans-serif"]=["S

随机推荐