python数据分析与展示 – 第二周/单元四/Matplotlib库入门

English Version: No translation yet

介绍

  • 可视化数据
  • 效果: http://matplotlib.org/gallery.html
  • 使用
    • 由各种可视化类构成,内部结构复杂,受Matlab启发
    • matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式
      import matplotlib.pyplot as plt
  • 示例在Spyder中使用,编写代码后F5运行

  • 输入为一维列表时,参数被当做y轴,x轴为列表索引
  • dpi指定输出质量,每寸空间中包含像素点的个数

 

  • axis() x,y轴的起始和终止坐标

绘图区域

  • plt.subplot(nrows, ncols, plot_number)
  • 计数从左往右,从上往下
  • 可省略逗号

pyplot的plot()函数

  • plt.plot(x, y, format_string, **kwargs)
    • x, X轴数据,列表或数组,可选
    • y, Y轴数据,列表或数组
    • format_string, 控制曲线格式字符串,可选
    • **kwargs, 第二组或更多(x, y, format_string)绘制更多曲线
    • 绘制多条曲线时,x不可省略

format_string

  • 由颜色字符、风格字符和标记字符组成
颜色字符 说明
‘b’ 蓝色
‘g’ 绿色
‘r’ 红色
‘m’ 洋红色 magenta
‘y’ 黄色
‘k’ 黑色
‘c’ 青绿色 cyan
‘w’ 白色
‘#008000’ RGB某颜色
‘0.8’ 灰度值字符串
风格字符 说明
‘-‘ 实线
‘–‘ 破折线
‘-.’ 点划线
‘:’ 虚线
“‘” 无线条
标记字符 说明
‘.’ 点标记
‘,’ 像素标记(极小点)
‘o’ 实心圈
‘v’ 倒三角标记
‘^’ 上三角标记
‘>’ 右三角标记
‘<‘ 左三角标记
‘1’ 下花三角标记
‘2’ 上花三角标记
‘3’ 左花三角标记
‘4’ 右花三角标记
‘s’ 实心方形标记
‘p’ 实心五角标记
‘*’ 星形标记
‘h’ 竖六边形标记
‘H’ 横六边形标记
‘+’ 十字标记
‘x’ x标记
‘D’ 菱形标记
‘d’ 瘦菱形标记
‘|’ 垂直线标记

 

  • 三种字符可以组合使用
  • **kwargs
    • color, 控制颜色, color='green'
    • linestyle, 线条风格, linestyle='dashed'
    • marker, 标记风格, marker='o'
    • markerfacecolor, 标记颜色, markerfacecolor='blue'
    • markersize, 标记尺寸, markersize=20
    • ……

pyplot的中文显示

  • 默认不支持中文

rcParams

  • 第一种方法使用rcParams修改字体实现
    • rcParams用于改变全局字体的资源库

 

属性 说明
‘font-family’ 用于显示字体的名字
‘font-style’ 字体风格,正常’normal’或斜体’italic’
‘font-size’ 字体大小,整数字号或’large’, ‘x-small’
中文字体 说明
‘SimHei’ 中文黑体
‘Kaiti’ 中文楷体
‘LiSu’ 中文隶书
‘FangSong’ 中文仿宋
‘YouYuan’ 中文幼圆
‘STSong’ 华文宋体

fontproperties

  • 改变局部字体,推荐使用
  • 第二种方法,在有中文输出的地方,增加一个属性: fontproperties

pyplot的文本显示

函数 说明
plt.xlabel() 对X轴增加文本标签
plt.ylabel() 对Y轴增加文本标签
plt.title() 对图形整体增加文本标签
plt.text() 在任意位置增加文本
plt.annotate() 在图形中增加带箭头的注解

  • $引入LaTex语法

plt.annotate

  • plt.annotate(s, xy=arrow_crd, xytext=text_crd, arrowprops=dict)
    • s: 注解字符串
    • xy: 箭头所在位置
    • xytext: 文本所在位置
    • arrowprops: 字典类型,表示文本显示属性
      • shrink: 箭头缩进比例

pyplot的子绘图区域

复杂子绘图区域

  • plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)
    • 设置网格,选中网格,确定选中行列区域数量,编号从0开始
    • GridSpec: 总体网格形状
    • CurSpec: 当前选定位置
    • colspan: 列的延伸
    • rowspan: 行的延伸
    • eg: plt.subplot2grid((3,3), (1,0), colspan=2)
  • gridspec

单元小结

  • 绘制坐标系
  • 确定曲线风格
  • 子绘制区域
  • 文本显示、中文显示
  • 针对特定数据使用恰当图形

Leave a Reply

Your email address will not be published.