Matplotlib从入门到精通

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

Matplotlib从入门到精通_第1张图片

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

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

Matplotlib从入门到精通_第2张图片

    调用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从入门到精通_第3张图片

(1)将 matplotlib 库导入

import matplotlib.pyplot as plt

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

Matplotlib从入门到精通_第4张图片

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

Matplotlib从入门到精通_第5张图片

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

Matplotlib从入门到精通_第6张图片

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

Matplotlib从入门到精通_第7张图片

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

Matplotlib从入门到精通_第8张图片

(7)绘制一个柱状图

Matplotlib从入门到精通_第9张图片

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

Matplotlib从入门到精通_第10张图片

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

Matplotlib从入门到精通_第11张图片

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

Matplotlib从入门到精通_第12张图片

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

Matplotlib从入门到精通_第13张图片

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

Matplotlib从入门到精通_第14张图片

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

Matplotlib从入门到精通_第15张图片

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

Matplotlib从入门到精通_第16张图片

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

Matplotlib从入门到精通_第17张图片

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

Matplotlib从入门到精通_第18张图片

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

Matplotlib从入门到精通_第19张图片

(18)显示网格

Matplotlib从入门到精通_第20张图片

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

Matplotlib从入门到精通_第21张图片

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

 

Matplotlib从入门到精通_第22张图片

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

Matplotlib从入门到精通_第23张图片

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

 

Matplotlib从入门到精通_第24张图片

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

Matplotlib从入门到精通_第25张图片

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

Matplotlib从入门到精通_第26张图片

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

Matplotlib从入门到精通_第27张图片

(26)绘制的

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

Matplotlib从入门到精通_第28张图片

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

Matplotlib从入门到精通_第29张图片

(28)展示色阶

Matplotlib从入门到精通_第30张图片

(29)改变配色为'gray'

Matplotlib从入门到精通_第31张图片

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

Matplotlib从入门到精通_第32张图片

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

Matplotlib从入门到精通_第33张图片

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

Matplotlib从入门到精通_第34张图片

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

Matplotlib从入门到精通_第35张图片

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

Matplotlib从入门到精通_第36张图片

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

Matplotlib从入门到精通_第37张图片

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

Matplotlib从入门到精通_第38张图片

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

Matplotlib从入门到精通_第39张图片

(38)创建一个三维画布

Matplotlib从入门到精通_第40张图片

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

Matplotlib从入门到精通_第41张图片

(40)绘制一组三维点

Matplotlib从入门到精通_第42张图片

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

Matplotlib从入门到精通_第43张图片

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

Matplotlib从入门到精通_第44张图片

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

Matplotlib从入门到精通_第45张图片

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

Matplotlib从入门到精通_第46张图片

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

Matplotlib从入门到精通_第47张图片

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

Matplotlib从入门到精通_第48张图片

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

Matplotlib从入门到精通_第49张图片

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

Matplotlib从入门到精通_第50张图片

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

Matplotlib从入门到精通_第51张图片

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

Matplotlib从入门到精通_第52张图片

 


获取源码

Matplotlib从入门到精通_第53张图片

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

 

往期回顾:

  • 从Python代码到APP,你只需要一个小工具:GitHub已超3000星

  • Python数据可视化的完整版操作指南

  • 基于Python实现相关分析案例

  • JupyterLab最全详解,如果你还在使用Notebook,那你就out了!

  • 史上最全的Python基础语法知识清单

  • 当Python遇上Echarts,快速图表开发,即学即用

你可能感兴趣的:(可视化,python,数据分析,数据可视化,大数据)