数据分析与可视化——Matplotlib

Matplolib.pyplot

      • 基础语法与常用参数
        • 基础语法
        • 动态rc参数
          • 常用线条参数
          • 设置中文显示
      • 散点图与折线图
        • 散点图
        • 折线图
      • 直方图,饼图,箱线图
        • 直方图
        • 饼图
        • 箱线图

Matplotlib是一个应用非常广的绘图工具包之一,其中应用最广的是matplotlib.pyplot模块,此模块是一个命令风格函数的集合

基础语法与常用参数

基础语法

我们根据创建一个图形的基础流程来学习基础语法

  1. 创建画布与创建子图
    首先我们要先创建一个画布,这样才有绘制图形的地方,同时创建的画布也是可以被划分成多个部分的,方便在同一张画布上绘制多个图形

    • pyplot.figure(Num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=, clear=False, **kwargs)
      创建一个空白画布,可以指定画布的大小和像素
      Num指定画布id,默认自增
      figsize指定画布大小,参数为元组,默认为4*4英寸
      dpi指定画布像素,参数为整数,表示窗口分辨率
      facecolor指定背景颜色
      edgecolor指定边框颜色
      frameon是否绘制窗口的图框
      figureclass???
      clear对于当前创建的窗口id,如果已经存在则会清除原窗口内容
    • pyplot.figure.add_subplot
      创建并选中子图,可以指定子图的行数,列数和选中的编号,参数直接传一个三数字的字符串,第一个数字表示行数,其次是列数,最后是选中的编号,由左向右,由上向下编号
  2. 添加画布内容

函数名称 作用
pyplot.title 在当前图形中添加标题,可以指定名称,位置,颜色,字体大小等
pyplot.xlabel 在当前图形中添加x轴名称,可以指定位置,颜色,字体大小等
pyplot.ylabel 在当前图形中添加y轴名称,可以指定位置,颜色,字体大小等
pyplot.xlim 指定当前图形的x轴范围,只能指定一个数值区间
pyplot.ylim 指定当前图形的y轴范围,只能指定一个数值区间
pyplot.xticks 指定x轴刻度的数目与取值
pyplot.yticks 指定y轴刻度的数目与取值
pyplot.legeng 指定当前图形的图例,可以指定图例的大小,位置,标签
  1. 保存与显示图形
    • pyplot.savefig
      保存绘制的图形,可以指定图形的分辨率,边缘颜色等
    • pyplot.show
      在本机显示图形

实例代码

import numpy as np
import matplotlib.pyplot as plt
data = np.arange(0, 1, 0.01)# 初始化要用于绘制的数据
plt.title("lines")# 设置标题
plt.xlabel("x")# 设置x轴名称
plt.ylabel("y")
plt.xlim((0, 1))# 设置x轴范围
plt.ylim((0, 1))
plt.xticks([0, 0.2, 0.4, 0.6, 0.8, 1])# 设置x轴刻度
plt.yticks([0, 0.2, 0.4, 0.6, 0.8, 1])
plt.plot(data, data**2)# 绘制y=x^2
plt.plot(data, data**4)# 绘制y=x^4
plt.legend(['y=x^2','y=x^4'])# 设置图例
plt.show()
plt.savefig("./example.png")

plot绘图函数后面讲解

动态rc参数

pyplot使用rc配置文件来定义图形的默认属性,称为rc配置或rc参数,可以动态修改

pyplot.rcParams[参数名] = 取值

常用线条参数
rc参数名 解释 取值
lines.linewidth 线条宽度 0~10之间,默认1.5
lines.linestyle 线条样式 “-” “--” “-.” “:” 四种,默认"-"
lines.marker 线条上点的形状 "o" "D" "h" "." "," "S"等一共二十种,默认None(具体在下方)
lines.markersize 点的大小 0~10,默认为1

linestyle取值的含义

  1. - 实线
  2. -- 长虚线
  3. -. 点线
  4. : 短虚线

linemarker取值的含义

取值 含义 取值 含义
o 圆圈 .
D 菱形 s 正方形
h 六边形#1 * 星号
H 六边形#2 d 小菱形
- 水平线 v 一角朝下的三角形
8 八边形 < 一角朝左的三角形
p 五边形 > 一角朝右的三角形
, 像素 ^ 一角朝上的三角形
+ 加号 \ 竖线
None x X
设置中文显示

默认的字体无法显示中文,因此需要指定包含中文的字体
pyplot.rcParams['font.sans-serif'] = 'SimHei' 将字体设置为黑体

散点图与折线图

散点图

pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, alpha=None, linewidth=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)
几个常用参数

  1. x, y 接收array,用于x轴与y轴对应的数据
  2. s 接收数值或者一维array,指定点的大小
  3. c 接收颜色或者一维array,指定颜色
  4. marker 接收特定string,指定点的形状
  5. alpha 接收0~1的小数,指定点的透明度

折线图

pyplot.plot(*args, **kwargs)
官方只要求输入不定长参数,实际可输入的有

  1. x, y 接收array,表示x轴和y轴对应的数据
  2. color 接收特定string,指定线条颜色,默认None
  3. linestyle 接收特定string,指定线条类型,默认 -
  4. marker 接收特定string,指定绘制点的类型,默认None
  5. alpha 接收0~1的小数,指定点的透明度

颜色字符串

颜色缩写 对应颜色 颜色缩写 对应颜色
b 蓝色 m 品红
g 绿色 y 黄色
r 红色 k 黑色
c 青色 w 白色

直方图,饼图,箱线图

直方图

pyplot.bar(left, height, width=0.8, bottom=None, hold=None, data=None, **kwargs)

  • left 接收array,指定x轴数据
  • height 接收aray,指定x轴数据的数量
  • width 接收0~1之间的小数,指定直方图宽度
  • color 接收特定string或array,指定直方图颜色

饼图

pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, raduis=None, counterclock=True, Wedgeprops=None, textprops=None, center=(0, 0), frame=False, hold=None, data=None)

  • x 接收array,用于绘制饼图的数据
  • explode 接收array,表示指定项距离饼图圆心为n个半径
  • labels 接收array,指定每一项的名称
  • color 接收特定string或者array,指定饼图颜色
  • autopct 接收string,指定数值显示方式
  • pctdistance 接收浮点数,指定每一项的比例和距离圆心的半径
  • labeldistance 接收浮点数,指定每一项的名称和距离圆心的半径
  • radius 饼图半径

箱线图

pyplot.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None, bootstrap=None, usermedians=None, conf_intervals=None, meanline=None, showmeans=None, showcaps=None, showbox=None, showfliers=None, boxprops=None, labels=None, flierprops=None, medianprops=None, meanprops=None, capprops=None, whiskerprops=None, manage_xticks=True, autorange=False, zorder=None, hold=None, data=None)

  • x 接收array,用于绘制箱线图的数据
  • notch 接收boolean,表示箱体中间是否有缺口
  • sym 接收特定string,指定异常点的形状
  • vert 接收boolean,表示图形是横向还是纵向
  • positions 接收array,表示图形位置
  • widths 接收scalar或者array,表示每个箱体的宽度
  • labels 接收array,指定每一个箱线图的标签
  • meanline 接收boolean,表示是否显示均值线

你可能感兴趣的:(数据分析与可视化,python,可视化,数据分析)