zoukankan      html  css  js  c++  java
  • 8-原谅我这一生不羁放纵爱作图之matplotlib(上)

    回想群主刚进希捷时,收到一封Advanced 6 sigma training的报名通知邮件,虽然更好的选择是从零学起,但选日不如撞日,于是很冲动地报名参加了,从此走上了数据分析的不归路!6 sigma黑带毕业后,老板把我当成部门吉祥物供着,一旦有数据分析的任务都要找我。在迎合老板的过程中,群主奇迹般地从一个小白蜕变为一个作图达人!从前车马慢,作图只会柱状图,后来CDF,等高线图,散点矩阵,矩形树图,气泡图等都尝试了一遍。直到有一天,历经繁华的群主不小心点开perceptual edge这个网站,作者把一些花哨唬人的作图方式都痛批了一遍,得出结论:这些3D炫彩的凹造型方式其实不如柱状图!看到这句话,群主的脑中响起了《道德经》的BGM:“大智若愚,大巧若拙。大音希声,大象无形。”整个世界都安静了,山高月小,水落石出。群主决定回归自然。不久遇到了matplotlib(python最著名的绘图库),发现这货竟然能徒手写代码画图,群主的断舍离情结得到了满足,于是连夜卸载了JMP, Tableau等肤浅的作图软件,踏上了一条少有人走的艰辛而美妙的岔路……

    本周笔记中出现的数据文件可从百度网盘下载:

    http://pan.baidu.com/s/1o82pZ2i

    一、数据可视化原则

    1. 什么是数据可视化

    数据可视化就是将数据合理地映射成图形元素的过程。

    2. 数据可视化的目的

    人类是视觉动物,其视觉神经系统有强大的模式识别和分析能力,数据可视化是启动这套系统的途径。

    3. 数据可视化的原则

    明确可视化的具体目标

    • 可视化的类型

      • 探索型:做之前并不知道数据中有哪些规律。可视化是探索的工具。

      • 解释型:知道规律,目的是方便传递(以让其他人更容易理解数据中的规律)。要考虑受众。

    • 要传送什么样的信息

      • 哪些信息最重要

      • 使用什么数据

    • 考虑受众群体

      • 阅读者的角色和知识背景:例如高层领导者就可能更需要偏宏观的信息。

      • 需要何类信息?

      • 细节程度?

    • 选择合适的视觉编码方法(如下图形元素)

      • 位置

      • 长度

      • 尺寸

      • 角度

      • 颜色

      • 形状……

    二、开始作图

    基本概念

    • figure:画布

    • axes:坐标轴,或者理解成所画的图形

    • 一张画布(figure)可以有很多图(axes)

    其他

    • label:坐标轴的标注

    • ticks:刻度

    • legend:图例

      • loc = 0:自动寻找最好的位置

      • ncol = 3:分三列

      • fontsize

      • frameon = True :边框

    画布:

    三、图的类型

    基本图形类型

    • 线图line

    • 条形图bar (表现离散数据)

    • 饼图pie

    • 直方图 histogram(画连续数据)

    • 散点图 scatter (两个因素的相关性)


    坐标轴属性:

    注意区别:

    fig, ax = plt.subplots() 画布里只有一个axes。 fig 后跟 ax

    fig, axes = plt.subplots(1, 4, figsize=(16, 3)) 画布里有多个axes。 fig 后跟 axes

    学完这些,相信大家和我一样脑海中滚动着《杀手leon》的著名台词:

    Is life always this hard, or is it just when you are a kid? 

    Always like this. 

    配图:笑着活下去.jpg

    似乎画图都已经这么难了,那后面的机器学习算法呢?不用担心,群主以24K纯种理科生的经验保证,matplotlib画图这节是最难的,因为死记硬背的细节太多了!只要跨过这个坎,前面一片坦途ヾ(o◕∀◕)ノ加油,还有一次matplotlib的学习笔记,下周不见不散!

  • 相关阅读:
    显卡关键词
    为照顾IE6尽量不要margin和padding
    如何保证一个类只有一个实例(1)
    显示列表(display list)
    AutoCAD2007与Office2007冲突
    虚函数(1)
    字符串对象的属性
    细读cow.osg
    常量折叠(const folding)与复写传播 (copy propagation)
    .NET Framework 3.5 sp1离线安装
  • 原文地址:https://www.cnblogs.com/turingbrain/p/6979978.html
Copyright © 2011-2022 走看看