您的位置: 首页 > 电脑应用 > 图形图像 > matplotlib
matplotlib是一款用Python写的2D绘图库,灵感来自MATLAB,能跨平台运行。它支持通过数据拷贝和交互式环境生成图表,还能配合numpy做数组运算,调用其他Python库实现硬件交互。用它几行代码就能画出直方图、功率谱、条形图等,效率很高。这里提供了matplotlib的安装源码,可以直接在Python上通过源码安装,欢迎免费下载。
1、多子图绘制:支持在同一张图里创建多个子图,通过subplot()功能就能实现多轴布局。
2、图片显示:用imshow()函数可以直接在图中显示图像,前提是水平尺寸保持等距。
3、轮廓与伪彩色:pcolormesh()能对二维数组做彩色表示,哪怕水平尺寸不均匀也行。contour()函数是另一种展示相同数据的方式。
4、直方图:hist()函数能自动生成直方图,同时返回桶计数或概率。
5、路径绘制:通过matplotlib.path模块,可以在图中添加任意自定义路径。
6、三维绘图:mplot3d工具包支持简单的3D图形,包括曲面、线框、散点图和条形图。
7、流线图:streamplot()函数可以绘制矢量场的流线,还能把流线的颜色或线条宽度映射到速度、局部强度等参数上。
8、椭圆绘制:为了支持凤凰火星任务中航天器地面跟踪的显示需求,提供了极其精确的8样条椭圆弧近似,放大后也不会失真。
9、条形图:用bar()函数制作条形图,支持自定义错误栏等效果。
10、饼图:pie()函数可以创建饼图,支持自动标注百分比、楔形分离、阴影效果等。看一下代码就知道,几行就能画出来。
11、表格:table()函数可以在坐标轴里添加一个文本表格。
12、散点图:scatter()函数用大小和颜色参数生成散点图,比如画Google股价变化,点的大小反映交易量,颜色随时间变化,还能用alpha做半透明效果。
一、函数式绘图
1、matplotlib是参照MATLAB做的,MATLAB在数据绘图领域用得很广,属于面向过程的语言。在MATLAB里调个函数就能画直线,再用一堆函数调细节就行。
2、matplotlib在pyplot模块里有一套完全模仿MATLAB函数形式的接口,方便MATLAB用户转过来用。下面我们就用这个模块画条直线。
3、每条命令都很直观,看函数名就知道干嘛的。plot是画线,title是加标题。最后存出来的demo.jpg就是效果。
4、函数式调用确实方便。但Python里函数式编程本质上是通过封装对象实现的,matplotlib也一样,底层还是在构建对象。函数式只是把构建过程包了一层,用起来觉得省事而已。
在matplotlib.pyplot里还能找到下面这些绘图函数,常用数据绘图的应该都很眼熟:
二、面向对象编程
函数式绘图虽然方便,但也有几个问题:
(1)多了一层函数调用,效率会低一些。
(2)对象之间的隶属关系被函数盖住了。matplotlib整个包是一堆有组织有层级的对象构成的,函数把这层关系藏起来了,反而搞复杂了。
(3)细节被函数掩盖。pyplot没法覆盖对象体系的所有功能,很多细节调整最后还是得回到对象层面。
(4)同一件事至少有两种做法,容易搞混。
对开发者来说,理解对象体系是参与matplotlib项目的第一步。
1、把上面的直线绘图改成面向对象方式,需要引入两个类:Figure和FigureCanvas。其实函数式也调用了这两个类,只是过程被函数挡住了。
1、acorr:绘制x的自相关图。
2、angle_spectrum:绘制角度谱。
3、annotate:用文字标注某个点的xy坐标。
4、arrow:在坐标轴上添加箭头。
5、autoscale:自动把坐标轴视图缩放到数据范围。
6、axes:向图中添加一个坐标轴。
7、axhline:在坐标轴上加一条水平线。
8、axhspan:在坐标轴上加一个水平矩形区域。
9、axis:获取或设置坐标轴属性的快捷方法。
10、axvline:在坐标轴上加一条垂直线。
11、axvspan:在坐标轴上加一个垂直矩形区域。
12、bar:绘制条形图。
13、barbs:绘制二维矢量场的倒钩图。
14、barh:绘制水平条形图。
15、box:打开或关闭坐标轴边框。
16、boxplot:绘制箱线图。
17、broken_barh:绘制横向 broken bar。
18、cla:清除当前坐标轴。
19、clabel:为等高线图标注数值。
20、clim:设置当前图像的颜色范围。
21、close:关闭图形窗口。
22、cohere:绘制x和y之间的相干性。
23、colorbar:给图形添加颜色条。
v3.10.9版本
修复了各种小错误和文档问题
增强了循环仪的安全验证——移除了eval调用
Latex和PS调用中的安全强化——移除了shell转义
5分
500+人评价
请为应用评分:
本站发布的游戏及软件均来源于网络,仅用于人个测试学习使用,不得使用于任何商业用途,请在下载后24小时内删除,请支持正版软件。
如侵犯到您的权益,请及时通知我们,我们会及时处理。邮箱:goapk2024@163.com
【沪ICP备2023035109号-3】 Copyright @ 2026 GOAPK安智网