人生苦短,我用 Python
前文传送门:
小白学 Python 数据分析(1):数据分析基础
小白学 Python 数据分析(2):Pandas (一)概述
小白学 Python 数据分析(3):Pandas (二)数据结构 Series
小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame
小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据
小白学 Python 数据分析(6):Pandas (五)基础操作(2)数据选择
小白学 Python 数据分析(7):Pandas (六)数据导入
小白学 Python 数据分析(8):Pandas (七)数据预处理
小白学 Python 数据分析(9):Pandas (八)数据预处理(2)
小白学 Python 数据分析(10):Pandas (九)数据运算
小白学 Python 数据分析(11):Pandas (十)数据分组
小白学 Python 数据分析(12):Pandas (十一)数据透视表(pivot_table)
小白学 Python 数据分析(13):Pandas (十二)数据表拼接
小白学 Python 数据分析(14):Pandas (十三)数据导出
小白学 Python 数据分析(15):数据可视化概述
小白学 Python 数据分析(16):Matplotlib(一)坐标系
小白学 Python 数据分析(17):Matplotlib(二)基础操作
折线图各位同学好,我们从本篇开始介绍一些 Matplotlib 的常用图表。
说道常用图表,第一个肯定是折线图,折线图主要用于表现随着时间的推移而产生的某种趋势。
在 Matplotlib 中,化折线图主要是使用到了 plt 库中的 plot 方法,下面我们看下 plot 的语法。
plot 函数的一般的调用形式如下:
#单条线: plot([x], y, [fmt], *, data=None, **kwargs) #多条线: plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)可选参数 [fmt] 是一个字符串来定义图的基本属性如:颜色(color),点型(marker),线型(linestyle)。
具体形式 fmt = '[color][marker][line]'
这里我们写一个简单的 fmt 的表达式,需要注意的是 fmt 接收的是每个属性的单个字母缩写,如果使用的是全名的话则不能使用 fmt 参数进行组合赋值。
plot(x, y, 'bo-')上面这个示例中的 bo- 的含义是蓝色圆点实线,其中 b 代表了颜色 blue , o 代表了点型 circle marker (圆点), - 代表了线型 solid line style (实线) 。
如果我们使用全名的话上面这个示例可以改成:
plot(x, y, color='blue', marker='o', linestyle='-')下面小编摘抄一下官方文档上的对应的类型,官方文档地址:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html ,如果不想打开官方文档,也可以在程序中运行下面这段代码,一样可以看到:
import matplotlib.pyplot as plt help(plt.plot)首先是颜色 color 的可取值:
============= =============================== character color ============= =============================== ``'b'`` blue ``'g'`` green ``'r'`` red ``'c'`` cyan ``'m'`` magenta ``'y'`` yellow ``'k'`` black ``'w'`` white ============= ===============================这里有一点需要注意,除了可以使用上面的这些值,同样可以使用十六进制的 RGB 字符串,如: #FFFFFF 等。
接下来是点型 Maker 的可选值:
============= =============================== character description ============= =============================== ``'.'`` point marker ``','`` pixel marker ``'o'`` circle marker ``'v'`` triangle_down marker ``'^'`` triangle_up marker ``'<'`` triangle_left marker ``'>'`` triangle_right marker ``'1'`` tri_down marker ``'2'`` tri_up marker ``'3'`` tri_left marker ``'4'`` tri_right marker ``'s'`` square marker ``'p'`` pentagon marker ``'*'`` star marker ``'h'`` hexagon1 marker ``'H'`` hexagon2 marker ``'+'`` plus marker ``'x'`` x marker ``'D'`` diamond marker ``'d'`` thin_diamond marker ``'|'`` vline marker ``'_'`` hline marker ============= ===============================大家看前面的符号应该大致都能知道是啥意思吧,小编这里有点小懒(属实有点多,小编自己的碎碎念:常用的就那么几种,一张图上也不会出现太多种的线型,反正会有默认值),就不翻译了,如果有看不懂的同学可以 CV 后面的英文到某些翻译网站上自行翻译。
接下来是线型 Line Styles 的可选值:
============= =============================== character description ============= =============================== ``'-'`` solid line style 实线 ``'--'`` dashed line style 虚线 ``'-.'`` dash-dot line style 点画线 ``':'`` dotted line style 点线 ============= ===============================这个就不解释了吧,各位同学可以自行尝试一下。
最后再来个示例吧,数据还是使用上一篇文章的:
import matplotlib.pyplot as plt # 处理中文乱码 plt.rcParams['font.sans-serif']=['SimHei'] x_data = [2011,2012,2013,2014,2015,2016,2017] y_data = [58000,60200,63000,71000,84000,90500,107000] y_data_1 = [78000,80200,93000,101000,64000,70500,87000] plt.title(label='xxx 公司 xxx 产品销量') # 设置标题 plt.plot(x_data, y_data, linestyle = '-.', label = '产品销量') plt.plot(x_data, y_data_1, label = '用户增长数') # 开启网格线 plt.grid(True) # 设置图例 plt.legend() # 文件保存 plt.savefig("plot_demo.png")结果如下:
这个样例中,我们将产品销量使用点线图来表示。
柱状图 普通柱状图柱状图主要用于查看各分组数据的数量分布,以及各个分组数据之间的数量比较。