博客
关于我
python可视化编程--matplotlib
阅读量:657 次
发布时间:2019-03-14

本文共 2126 字,大约阅读时间需要 7 分钟。

1、matplotlib与pyqtgraph

matplotlib是一种常用的用于数据可视化的绘图库,它提供了一套和matlab相似的命令API,开发者可以仅需几行代码,便可生成如直方图,功率谱,条形图,错误图,散点图等图形,适用于交互式绘图,而且也可以方便地将它作为绘图控件嵌入到GUI应用程序中,并能够生成出版质量级别的图形,为程序开发者提供了便利。应该说,matplotlib库在静态图形的表现方面非常强大,但其缺点也比较明显,如在动态图形的绘制上,其刷新速度不尽人意。 

另一种功能强大的2D/3D绘图库——pyqtgraph,它是一种建立在PyQt4/PySide和numpy库基础之上的纯Python图形GUI库,在数学、科学和工程领域都有着广泛的应用。尽管该库完全用python编写,但内部由于使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架,因此,它在大数据量的数字处理和快速显示方面有着巨大的优势,它适合于需要快速绘图更新、视频或实时交互性的操作场合。另外,它不仅为各种数据提供了快速可交互式的图形显示,同时也提供了用于快速开发应用程序的各种小工具,如属性树、流程图等小部件。

2、环境配置

安装完Numpy,SciPy和MatplotLib后,可以成为非常犀利的科研利器。

下载:

 

安装Numpy

因为MatplotLib的使用需要以Numpy的支持,所以最好先装NumPy再装MatplotLib。

多python版本时,注意安装到那个python下,我的python默认的是python3.7.如果安装在python2.7下就用:pythno2 -m pip install numpy;

下图显示了两种安装方法:使用pip安装,或者下载whl文件安装;

安装结果:

检测:python  -m  pip list   查看安装list,可以找到安装的numpy 及版本;

         或者在python 命令中,输入import  numpy 没有报错;

安装MatplotLib 

使用pip安装:python -m pip matplotlib

遇到的问题:

升级后再使用pip重新安装;

查看安装库列表,会看到上图安装成功的库;

python命令中,输入:import matplotlib 不会报错

3、简单实例

import matplotlib.pyplot as plitsque = [1, 9, 9, 16, 25]plit.plot(sque)plit.show()

plit.plot(横坐标列表1,纵坐标列表1,横坐标列表2,纵坐标列表2....线宽)   几个纵坐标列表就可以画出几条线:

plit.plot([1, 25, 7], [5, 7, 4], [15, 18, 2],linewidth=1)   #两条线,第二条线没有横坐标,默认从x轴的起始点依次排列;

plit.plot([1, 2, 7], [5, 7, 4], [1, 4, 7], [5, 18, 2],color='lightblue', linewidth=5);结果如上图

例如;

plit.plot([1, 25, 7], [5, 7, 4], [15, 18, 2], linewidth=5)plit.title('first', fontsize=24)//设置字体plit.xlabel('xxx', fontsize=24)plit.ylabel('yyy')plit.tick_params(axis='both', labelsize=14)  //设置刻度plit.show()

画正弦余弦:import matplotlib.pyplot as plit

import numpy as np

x = np.arange(-1 * np.pi, 1 * np.pi,0.01)y = np.cos(x)y1=np.sin(x)plit.plot(x, y,x,y1)plit.title("function y=cos(x)", fontsize=24)plit.xlabel("xx")plit.ylabel("yy")plit.show()

ax=plit.gca()  #获取Axes对象ax.spines['right'].set_color('none')    #隐藏右边界ax.spines['top'].set_color('none')      #隐藏上边界ax.xaxis.set_ticks_position('bottom')   #x轴坐标刻度设置在坐标轴下面ax.spines['bottom'].set_position(('data',0))  #x轴坐标轴平移至经过零点(0,0)位置ax.yaxis.set_ticks_position('left')           #y轴坐标刻度设置在坐标轴下面ax.spines['left'].set_position(('data',0))    #y轴坐标轴平移至经过零点(0,0)位置plit.show()

学习:

转载地址:http://azvoz.baihongyu.com/

你可能感兴趣的文章
Linux下的系统监控与性能调优:从入门到精通
查看>>
LiveGBS user/save 逻辑缺陷漏洞复现(CNVD-2023-72138)
查看>>
localhost:5000在MacOS V12(蒙特利)中不可用
查看>>
logstash mysql 准实时同步到 elasticsearch
查看>>
Luogu2973:[USACO10HOL]赶小猪
查看>>
mabatis 中出现< 以及> 代表什么意思?
查看>>
Mac book pro打开docker出现The data couldn’t be read because it is missing
查看>>
MAC M1大数据0-1成神篇-25 hadoop高可用搭建
查看>>
mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
查看>>
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>
MangoDB4.0版本的安装与配置
查看>>
Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
查看>>
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>