先前,我们已经介绍过 matplotlib 第三方绘图库的基本操作方法。

这里,我们将介绍如何通过读取文件中的数据来绘制其图像的操作方法。

基本绘制方法

假设要绘制的数据存储在名为 sample.txt 的文件中,如下所示:

sample.txt 存储数据内容

 1 import matplotlib.pyplot as plt 2  3 X, Y = [], [] 4 for line in open('sample.txt', 'r'): 5     values = [float(s) for s in line.split()] 6     X.append(values[0]) 7     Y.append(values[1]) 8  9 plt.plot(X, Y)10 plt.show()

上述代码:

#4 只读方式打开文件,以行为单位读取。

#5 分离每行数据并存储在列表中,其中 split 函数调用格式如下:

str.split(str="", num=string.count(str))

参数:

str -- 分隔符,默认为所有的空字符,包括空格、换行()、制表符()等。

num -- 分割次数,默认为 -1, 即分隔所有。

返回值:

返回分割后的字符串列表。

#6 存储分离得到的 X 坐标数据。

#7 存储分离得到的 Y 坐标数据。

sample.txt 文件数据绘制图像

上述操作是基于 Python 基本方法进行读取文件数据和绘制图像的。事实上,这样做无法处理一些可能出现的错误现象,从编程角度来看,是不严谨的。此外,matplotlib 还通常与 numpy 进行结合使用,进行处理用于绘制图像的数据源。

改良绘制方法

1 import numpy2 import matplotlib.pyplot as plot3 4 data = numpy.loadtxt('sample.txt')5 6 plot.plot(data[:,0], data[:,1])7 plot.show()

上述代码:

#4 numpy.loadtxt( )函数读取文件后,返回的是一个二维数组,类型上是矩阵。这就有利于我们能够方便地通过矩阵行、列的概念来分别获得 x、y 坐标的数值(#6 (data[:,0], data[:,1]))。

相较前面,上述代码更加简洁,而且,运用 numpy 后还能够快速处理大型数据文件,并且可以支持其它数据文件格式(诸如 CSV、matlab 等)。

此外,上述代码还可以支持类似如下情况中的多条曲线绘制任务:

比如,当文件中包含有 N 列数据时,即绘制 N-1 条曲线。第一列即为 x 坐标数值,第二列即为第一条曲线的 y 坐标数值;第三列即为第二条曲线的 y 坐标数值;以此类推……

示例:

假设此时数据文件中包含如下内容:

sample.txt 数据文件存储内容

1 import numpy2 import matplotlib.pyplot as plot3 4 data = numpy.loadtxt('sample.txt')5 6 for column in data.T:7     plot.plot(data[:,0], column)8 9 plot.show()

上述代码:

#6 通过 data.T 矩阵转置(列→行)后读取的“行”即为原始矩阵的“列”。

#7 绘制多条曲线。

多条曲线绘制

小结:

本文介绍了如何用存储在文件中的数据直接绘制其图像的操作方法。在实际运用中,绝大多数绘制图像的数据源都是存储在某种格式的文件中。因此,学会上述图像绘制方法后,将有利于我们发挥其实际效用,特别是对于大型数据源。


欢迎大家关注交流,一起讨论学习!

图像 存储csv_matplotlib基于数据文件绘制其图像相关推荐

  1. oracle 11g 存储结构和数据文件

    2019独角兽企业重金招聘Python工程师标准>>> 存储结构与数据文件 存储结构: database----tablespace-----sefment-----extent-- ...

  2. 图像存储方式及使用OpenCV简单处理图像

    一.目的 简述图像存储方式及使用OpenCV简单处理图像. 二.图像存储方式 2.1.YUV 2.1.1.简介 YUV是编译true-color颜色空间(color space)的种类,Y'UV, Y ...

  3. python 读取excel太慢_实用技巧——Python实现从Excel读取数据并绘制成图像

    喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为 ...

  4. 实用技巧——Python实现从Excel读取数据并绘制成图像

    本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为: 使用xlrd扩展包读取excel数据 使用matplotlib绘制二维图像 美化图像,添 ...

  5. 【图像融合】基于matlab DSIFT多聚焦图像融合【含Matlab源码 2224期】

    ⛄一.SIFT配准简介 1 算法概述 在实时系统中,算法的输入为相机数据流,当前输入的图像与上一张相似度很高时应不参与融合,由于在体视显微镜下序列图像存在较大程度的偏移,所以融合前还需要进行图像配准, ...

  6. python变量存为matlab,详解如何在python中读写和存储matlab的数据文件(*.mat)

    背景 在做deeplearning过程中,使用caffe的框架,一般使用matlab来处理图片(matlab处理图片相对简单,高效),用python来生成需要的lmdb文件以及做test产生结果.所以 ...

  7. matlab 如何读数据文件,详解如何在python中读写和存储matlab的数据文件(*.mat)

    背景 在做deeplearning过程中,使用caffe的框架,一般使用matlab来处理图片(matlab处理图片相对简单,高效),用python来生成需要的lmdb文件以及做test产生结果.所以 ...

  8. python读取matlab数据_详解如何在python中读写和存储matlab的数据文件(*.mat)

    背景 在做deeplearning过程中,使用caffe的框架,一般使用matlab来处理图片(matlab处理图片相对简单,高效),用python来生成需要的lmdb文件以及做test产生结果.所以 ...

  9. stl文件 python_用Python从STL文件绘制2D图像

    我想加载一个STL文件,并在不同的旋转产生一组2D图像.在 我得到了基于this示例的numpy stl的基本操作,最后得到以下代码-from stl import mesh from mpl_too ...

最新文章

  1. 正弦信号有效值 c语言,推导正弦波正弦量、平均值、有效值基本公式
  2. Flask and Ajax Post HTTP/1.1 400
  3. 数据库,唯一索引,重复数据处理
  4. python设计大赛_GitHub - FatBallFish/Multimedia-Python: 多媒体设计大赛-Python后端
  5. C中关于存储类的理解
  6. 收藏功能_六款多功能榻榻米,装完你家会大一半!超实用,收藏
  7. Enterprise Library: Logging and Instrumentation Application Block概述
  8. iptables规则书写总结
  9. 在高并发环境下该如何构建应用级缓存
  10. 【华为云技术分享】实战笔记丨JDBC问题定位指南
  11. Expression Studio简体中文正式版+序列号.
  12. Qt3D学习之键盘交互
  13. 微信客服我是这样管理的
  14. pdf英文转换成html网页,Pdf转HTML转换工具
  15. 小米 samba linux,解决Win10.4无法访问samba协议小米路由盘修复方法
  16. 摩根大通提交分散式虚拟收据系统新专利
  17. tp5微信公众号开发(2) ---- 微信被动回复,图文回复,图片回复等 demo实例
  18. 【Adrealm智库专栏】激励机制——区块链的核心
  19. 高清壁纸wallhaven.cc下载图片
  20. [CSCCTF 2019 Qual] FlaskLight

热门文章

  1. 国防科大计算机研究生院,国防科大计算机学院在读硕士的程序人生!
  2. 1.1.29 加入项目符号后换行文字未对齐
  3. 获取Python安装目录
  4. match和exec
  5. The dialect was not set. Set the property hibernate.dialect
  6. JVM的内存区域划分
  7. 菜鸟学习Spring——60s配置XML方法实现简单AOP
  8. Nobot控件------拒绝机器人行为
  9. 用C#实现MD5算法
  10. 120 - 算法 - 枚举 周期性跳转 openjudge:4148生理周期