一、matplotlib数据可视化入门

参考来源:《Python数据科学手册》第4章

URL:https://jakevdp.github.io/PythonDataScienceHandbook/

描述:笔记

目录:

1、Matplotlib常用技巧

  1.1 导入Matplotlib

  1.2 设置绘图样式

  1.3 用不用show()?如何显示图形

  1.4 将图形保存为文件

2、两种画图接口

  2.1 MATLAB风格接口

  2.2 面向对象接口

3、简易线形图

  3.1 调整图形:线条的颜色与风格

  3.2 调整图形:坐标轴上下限

  3.3 设置图形标签

4、简易散点图

  4.1 用plt.plot画散点图

  4.2 用plt.scatter画散点图

  4.3 plot与scatter:效率对比

5、可视化异常处理

  5.1 基本误差线

  5.2 连续误差线

6、密度图与等高线图

  6.1 三维视图的可视化

7、频次直方图、数据区间划分和分布密度

8、配置图例

  8.1 选择图例显示的元素

  8.2 在图例中显示不同尺寸的点

  8.3 同时显示多个图例

9、配置颜色条

  9.1 配置颜色条

  9.2 案例:手写数字

10、多子图

  10.1 plt.axes:手动创建子图

  10.2 plt.subplot:简易网格子图

  10.3 plt.subplots:用一行代码创建网格

  10.4 plt.GridSpec:实现更复杂的排列方式

11、文字与注释

  11.1 plt.text()

  11.2 坐标变换与文字位置

  11.3 箭头与注释

12、自定义坐标轴刻度

  12.1 主要刻度与次要刻度

  12.2 隐藏刻度与标签

  12.3 增减刻度数量

  12.4 花哨的刻度格式

  12.5 格式生成器与定位器小结

13、Matplotlib自定义:配置文件与样式表

  13.1 手动配置图形

  13.2 修改默认配置:rcParams

  13.3 样式表

14、用Matplotlib画三维图

  14.1 三维数据点与线

  14.2 三维等高线

  14.3 线框图和曲面图

  14.4 曲面三角剖分

15、用Basemap可视化地理数据

  15.1 地图投影

  15.2 画一个地图背景

  15.3 在地图上画数据

  15.4 案例:美国加州城市数据

  15.5 案例:地表温度数据

16、用Seaborn做数据可视化

  16.1 Seaborn与Matplotlib

  16.2 Seanborn图形介绍

  16.3 案例:探索马拉松比赛成绩数据

17、参考资料

  17.1 Matplotlib资源

  17.2 其他Python画图程序库

1、Matplotlib常用技巧

  1.1 导入Matplotlib

      

  1.2 设置绘图样式

            

  1.3 用不用show()?如何显示图形

      三种开发环境:脚本、IPython shell 和 IPython Notebook

      在脚本中,使用matplotlib时,显示图形必须用plt.show(),plt.show()会启动一个事件循环(event loop),并找到所有当前可用的图形对象,然后打开一个或多个交互式窗口显示图形,需要注意的是,一个python会话中只能使用一次plt.show(),因此通常都把它放在脚本的最后。

      在ipython shell中,需要启动matplotlib模式,通过魔法方式%matplotlib启动。不再需要使用plt.show()。可通过plt.draw()强制更新。

      在ipython notebook中,需要启动matplotlib模式。

      

  1.4 将图形保存为文件

      

      

       

2、两种画图接口

  2.1 MATLAB风格接口

      这种接口最重要的特性是有状态的(stateful):它会持续跟踪“当前的”图形和坐标轴,所有plt命令都可以应用,可用plt.gcf()获取当前图形,plt.gca()获取当前坐标轴。

      缺点:不方便切换子图。

      

      

  2.2 面向对象接口

      面向对象接口不再受到当前“活动”图形或坐标轴的限制,而变成了显式的Figure和Axes的方法。

      

      画比较复杂的图形时,对面对象方法会更方便。

3、简易线形图

  3.1 调整图形:线条的颜色与风格

      

      

  3.2 调整图形:坐标轴上下限

      

       

      

      

      

       

     

  3.3 设置图形标签

      

      

      

       matplotlib陷阱

         

       

4、简易散点图

  4.1 用plt.plot画散点图

       

      

      

      

  4.2 用plt.scatter画散点图

      

      

  4.3 plot与scatter:效率对比

      

5、可视化异常处理

  5.1 基本误差线

      

  5.2 连续误差线

      通过plt.plot与plt.fill_between来解决显示连续变量的误差。传入plt.fill_between的上下限参数画图,与通过plt.plot画的图形做对比,从而可视化出误差。    

      

6、密度图与等高线图

    在二维图上用等高线图或者彩色图来表示三维数据。

    用plt.contour画等高线图、用plt.contourf画带有填充色的等高线图(filled contourplot)的色彩、用plt.imshow显示图形。

  6.1 三维视图的可视化

    等高线图可以用plt.contour函数来创建,它需要三个参数:x轴、y轴、z轴三个坐标轴的网格数据。x轴和y轴表示图形中的位置,而z轴将通过等高线的等级来表示。

    

     当图形中只使用一种颜色时,默认使用虚线表示负数,使用实线表示正数。

     

      matplotlib的配色方案可以在ipython中用tab键浏览plt.cm模块对应的信息。 

      

       

      通过颜色条分析:黑色区域是波峰(peak),红色区域是波谷(valley)。

      说明:颜色的改变是一个离散而非连续的过程,所以看起来不那么干净  

      

      

       

7、频次直方图、数据区间划分和分布密度

  7.1 频次直方图

      

       

       以上为将一维数组分为区间创建一维频次直方图

  7.2 二维频次直方图与数据区间划分

      将二维数组按照二维区间进行切分,来创建二维频次直方图。

      

   7.3 核密度估计

      核密度估计(kernel density estimation,KDE),评估多维数据分布密度的常用方法。

      

           

8、配置图例  

    图例通过离散的标签表示离散的图形元素。

  8.1 选择图例显示的元素

    想在可视化图形中使用图例,可以为不同的图形元素分配标签。

    

    

    

     图例会默认显示所有元素的标签,但是会忽略那些不带标签的元素

    

     

        

  8.2 同时显示多个图例

      通过从头开始创建一个新的图例艺术家对象(legend artist),然后用底层的(lower-level)ax.add_artist()方法在图上添加第二个图例。

      

       

     

9、配置颜色条

    对于图形中由彩色的点、线、面构成的连续标签,用颜色条来表示的效果比较好。

    在matplotlib中,颜色条是一个独立的坐标轴,可以指明图形中颜色的含义。

    

  9.1 配置颜色条

     

      可以将颜色条本身仅看做是一个plt.Axes实例,可以适用关于坐标轴和刻度值的格式配置(如plt.clim())

 

10、多子图

  10.1 plt.axes:手动创建子图

      函数plt.axes(),默认创建一个标准的坐标轴,填满整张图。

      它有一个可选参数,有图形坐标系统的四个值构成,分别是表示图形坐标系统的[bottom,left,width,height](底坐标,左坐标,宽度,高度),数值的取值范围是左下角(原点)为0,右上角为1。

     

      

  10.2 plt.subplot:简易网格子图

      

      

            

  10.3 plt.subplots:用一行代码创建网格

      

       

      

       plt.subplots()与python索引从0开始的习惯保持一致。

       参数ha是水平对齐方式(horizonal alignment)的缩写,可为left,right,cente

  10.4 plt.GridSpec:实现更复杂的排列方式

      

  

11、文字与注释

  11.1 plt.text()

      通过plt.text()/ax.text()函数手动添加注释,它们可以在具体的x/y坐标点上放文字。

      plt.text()方法需要一个x轴坐标、一个y轴坐标、一个字符串和一些可选参数,比如文字的颜色、字号、风格、对其方式以及其它文字属性。

  11.2 坐标变换与文字位置

      

       

  11.3 箭头与注释

      函数plt.arrow()创建出的箭头是SVG向量图对象,会随着图形分辨率的变化而变化。

      函数plt.annotate(),即可以创建文字,也可以创建箭头(箭头能够灵活的配置)

      

12、自定义坐标轴刻度

    每个axes都有xaxis和yaxis属性,每个属性包含构成坐标轴的线条、刻度和标签的全部属性。

  12.1 主要刻度与次要刻度     

  12.2 隐藏刻度与标签

      

       

  12.3 增减刻度数量

      

  12.4 花哨的刻度格式

      

      

        

      

  12.5 格式生成器与定位器小结

内置的格式生成器与定位器
定位器类 描述
plt.NullLocator 无刻度
plt.FixedLocator 刻度位置固定
plt.IndexLocator 用索引作为定位器(如x=range(len(y)))
plt.LinearLocator 从min到max均匀分布刻度
plt.LogLocator 从min到max按对数分布刻度
plt.MultipleLocator 刻度和范围都是基数(base)的倍数
plt.MaxNLocator 为最大刻度找到最优位置
plt.AutoLocator (默认)以MaxNLocator进行简单配置
plt.AutoMinorLocator 次要刻度的定位器
   
格式生成器类 描述
plt.NullFormatter 刻度上无标签
plt.IndexFormatter 将一组标签设置为字符串
plt.FixedFormatter 手动为刻度设置标签
plt.FuncFormatter 用自定义函数设置标签
plt.FormatStrFormatter 为每个刻度值设置字符串格式
plt.ScalarFormatter (默认)为标量值设置标签
plt.LogFormatter 对数坐标轴的默认格式生成器

13、Matplotlib自定义:配置文件与样式表

  13.1 手动配置图形

  13.2 修改默认配置:rcParams

  13.3 样式表

      

        

14、用Matplotlib画三维图

    

  

     

     

  14.1 三维数据点与线

      

      

    

  14.2 三维等高线

      

       

  14.3 线框图和曲面图

     

      

      

      

    

     

  14.4 曲面三角剖分

      

       

     

           

    

     

            

15、用Basemap可视化地理数据

  15.1 地图投影

  15.2 画一个地图背景

  15.3 在地图上画数据

  15.4 案例:美国加州城市数据

  15.5 案例:地表温度数据

16、用Seaborn做数据可视化

  16.1 Seaborn与Matplotlib

      

       

  16.2 Seanborn图形介绍

    

     

   

     

     

  

     

     

      

  

     

   

  

     

原文地址:https://www.cnblogs.com/nuochengze/p/12466583.html