zoukankan      html  css  js  c++  java
  • 一、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图形介绍

        

         

       

         

         

      

         

         

          

      

         

       

      

         

  • 相关阅读:
    jsoup
    【伪装位置神器】神行者AnyLocation 1.3.0001可用于微信,陌陌
    MD5 哈希等各种加密方式 都是对这个对象进行各种运算, 然后得出1个字符串
    【html】param 以及 embed 的有关 flash 属性详解
    【css】绝对定位的元素在 ie6 下不显示
    【javascript】浮点数运算问题分析及解决方法
    【jquery】邮箱自动补全 + 上下翻动
    【javascript】设为首页——setHome
    【javascript】js 检验密码强度
    【jquery】jquery 自定义滚动条
  • 原文地址:https://www.cnblogs.com/nuochengze/p/12466583.html
Copyright © 2011-2022 走看看