欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Matplotlib从入门到精通

程序员文章站 2022-07-14 10:46:06
...

    Matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包。它提供了一整套和 matlab 相似的命令 API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入 GUI 应用程序中。可以说是现在python数据分析中,用的人最多的图形库了。

Matplotlib从入门到精通

某网站对于python可视化库的排名

    Matplotlib 采用面向对象的技术,所以图表的各个元素都是对象。但由于调用对象的接口进行绘图比较繁琐,所以Matplotlib 还拥有快速绘图的pyplot模块。其中包括了Numpy和pyplot的很多常用的函数,方便用户快速绘图。十分适合应用在IPython交互环境中。

Matplotlib从入门到精通

    调用figure()创建一个Figure(图表)对象,并且它将成为当前的Figure对象。也可以不创建Figure对象而直接调用接下来的plot()进行绘图,此时Matplotlib会自动创建一个Figure对象。figsize指定Figure对象的长度和高度,单位是英寸。此外还可以用dpi参数来设置Figure对象的分辨率,即每英寸所表示的像素数。默认值是80。此Figure对象的宽度为8 * 80 = 640。

    创建Figure对象之后,接下来调用plot()在当前的Figure对象中绘图。实际上plot()是在Axes(子图)对象上绘图,如果当前的Figure对象中没有Axes对象,将会为之创建一个几乎充满整个图表的Axes对象,并且使此时Axes对象成为当前的Axes对象。plot()的前两个参数分别表示X,Y轴数据的对象,这里使用Numpy数组。使用关键字参数可以指定所绘制曲线的各种属性。

    还可以用plt.savefig()将当前的Figure对象保存成图像文件,图像格式由图像文件的扩展名决定:

 plt.savefig("test.png", dpi = 120

Matplotlib从入门到精通

(1)将 matplotlib 库导入

import matplotlib.pyplot as plt

(2)绘制 sin 函数图像,x介于0到10之间 

Matplotlib从入门到精通

(3)改用点加线的方式绘制 sin 函数图像 

Matplotlib从入门到精通

(4)改用散点图的方式绘制 sin 函数的点图像

Matplotlib从入门到精通

(5)绘制饼图,用颜色和面积可视化一组 4维数据

Matplotlib从入门到精通

(6)绘制一组误差为±0.8的数据的误差条图

Matplotlib从入门到精通

(7)绘制一个柱状图

Matplotlib从入门到精通

(8)绘制一个水平方向柱状图

Matplotlib从入门到精通

(9)绘制1000个随机值的直方图

Matplotlib从入门到精通

(10)设置直方图分30个bins,并设置为频率分布

Matplotlib从入门到精通

(11)在一张图中绘制3组不同的直方图,并设置透明度

Matplotlib从入门到精通

(12)绘制一张二维直方图

Matplotlib从入门到精通

(13)绘制一张设置网格大小为30的六角形直方图

Matplotlib从入门到精通

(14)绘制x=(0,10)间sin的图像,设置线性为虚线

Matplotlib从入门到精通

(15)设置y轴显示范围为(-1.5,1.5)

Matplotlib从入门到精通

(16).设置x,y轴标签variable x,value y

Matplotlib从入门到精通

(17)设置图表标题“三角函数”

Matplotlib从入门到精通

(18)显示网格

Matplotlib从入门到精通

(19)绘制平行于x轴y=0.8的水平参考线

Matplotlib从入门到精通

(20)绘制垂直于x轴x<4 and x>6的参考区域,以及y轴y<0.2 and y>-0.2的参考区域

 

Matplotlib从入门到精通

(21)添加注释文字sin(x)

Matplotlib从入门到精通

(22)用箭头标出第一个峰值

 

Matplotlib从入门到精通

(23)在一张图里绘制sin,cos的图形,并展示图例

Matplotlib从入门到精通

(24)调整图例在左上角展示,且不显示边框

Matplotlib从入门到精通

(25)调整图例在画面下方居中展示,且分成2列

Matplotlib从入门到精通

(26)绘制的

Matplotlib从入门到精通

图像,并只显示前2者的图例

Matplotlib从入门到精通

(27)将图例分不同的区域展示

Matplotlib从入门到精通

(28)展示色阶

Matplotlib从入门到精通

(29)改变配色为'gray'

Matplotlib从入门到精通

(30)将色阶分成6个离散值显示

Matplotlib从入门到精通

(31)在一个1010的画布中,(0.65,0.65)的位置创建一个0.20.2的子图

Matplotlib从入门到精通

(32)在2个子图中,显示sin(x)和cos(x)的图像

Matplotlib从入门到精通

(33)用for创建6个子图,并且在图中标识出对应的子图坐标

Matplotlib从入门到精通

(34)设置相同行和列共享x,y轴

Matplotlib从入门到精通

(35)用[]的方式取出每个子图,并添加子图座标文字

Matplotlib从入门到精通

(36)组合绘制大小不同的子图

Matplotlib从入门到精通

(37)显示一组二维数据的频度分布,并分别在x,y轴上,显示该维度的数据的频度分布

Matplotlib从入门到精通

(38)创建一个三维画布

Matplotlib从入门到精通

(39)绘制一个三维螺旋线

Matplotlib从入门到精通

(40)绘制一组三维点

Matplotlib从入门到精通

(41)展示前5个宝可梦的Defense,Attack,HP的堆积条形图

Matplotlib从入门到精通

(42)展示前5个宝可梦的Attack,HP的簇状条形图

Matplotlib从入门到精通

(43)展示前5个宝可梦的Defense,Attack,HP的堆积图

Matplotlib从入门到精通

(44)公用x轴,展示前5个宝可梦的Defense,Attack,HP的折线图

Matplotlib从入门到精通

(45)展示前15个宝可梦的Attack,HP的折线图

Matplotlib从入门到精通

(46)用scatter的x,y,c属性,展示所有宝可梦的Defense,Attack,HP数据

Matplotlib从入门到精通

(47)展示所有宝可梦的攻击力的分布直方图,bins=10

Matplotlib从入门到精通

(48)展示所有宝可梦Type 1的饼图

Matplotlib从入门到精通

(49)展示所有宝可梦Type 1的柱状图

Matplotlib从入门到精通

(50)展示综合评分最高的10只宝可梦的系数间的相关系数矩阵

Matplotlib从入门到精通

 


获取源码

Matplotlib从入门到精通

公众号后台,回复:0801,获取源码

 

往期回顾:

Matplotlib从入门到精通