首页 > 其他 > 详细

一、matplotlib数据可视化

时间:2020-03-12 00:56:43      阅读:121      评论:0      收藏:0      [点我收藏+]

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

描述:笔记

目录:

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 案例:节假日对美国出生率

  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:用一行代码创建网格

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

11、文字与注释

  11.1 案例:节假日对美国出生率

  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画图程序库

一、matplotlib数据可视化

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!