数据可视化Matplotlib-上

提示:为了避免文章过长,代码全托管到码云,直接点超链接就可以看到和下载。

import matplotlib.pyplot as mp

1、mp.plot(x, y, linestyle=线型, linewidth=线宽, color=颜色, …)
功能:将x,y数组对应的值组成坐标上的点依次连接,如果xy都只有一个值,则是一条线段,xy是包含多个值的一维数组,则是很多条线段。
线型: - / – / : / -. / o / o- /
线宽:大于0的数
颜色:十六进制数,如#000000,或者使用表示颜色的单词
颜色表:
在这里插入图片描述

2、设置坐标范围
mp.xlim(水平坐标最小值,最大值)
mp.ylim(垂直坐标最小值,最大值)

3、设置坐标刻度
mp.xticks(水平轴刻度位置[, 水平轴刻度文本])
mp.yticks(垂直轴刻度位置[, 垂直轴刻度文本])

4、设置坐标轴属性
ax = mp.gca() # 获取当前坐标轴图
ax.spines[‘left’] 左纵轴
ax.spines[‘right’] 右
ax.spines[‘top’] 上
ax.spines[‘bottom’] 下
轴.set_position((坐标系,位置值)) # 设置位置
轴.set_color(颜色) # 设置轴颜色
比如:ax.spines[‘left’].set_position((‘data’, 0))

5、设置图例
mp.plot(…,label=图例文本)
mp.legend([loc=位置]) 一般不写loc参数,它会自己找合适的位置放上去

1-5示例代码:plot.py
效果图:
在这里插入图片描述
6、画特殊点
mp.scatter(水平坐标数组, 垂直坐标数组, s=大小, marker=点的形状, edgecolor=边缘色, facecolor=填充色,zorder=)

  • zorder:用于控制画的顺序,后画的可以覆盖先画的
  • edgecolor和facecolor只有当marker是实心的才能显示,maker不写,默认是’o’(圆点)
  • 如果只写color属性,则edgecolor和facecolor都是color的值

maker部分值:+,o(空心圆),*,.(实心圆),x(x形),s(正方形),d(菱形),^(上三角),v(下三角),<(左三角),>(右三角),p(五角星),h(六边形)

7、添加说明信息
mp.annotate(说明文本, xy=目标坐标, xycoords=目标坐标系,
xytext=文本坐标, textcoords=文本坐标系, fontsize=字体大小, arrowprops=箭头属性)

  • xy:你要说明的文本的坐标
  • xycoords: xy是绝对或相对坐标,‘data’或’offset points’
  • xytext: 说明文本放的坐标
  • arrowprops:值为字典,包含一些属性,常用的有arrowstyle(箭头风格),connectionstyle(连线分格),箭头风格列表和连线风格列表请自行百度。

6-7示例代码:scatter.py
效果图:
在这里插入图片描述

8、图形窗口对象

  • mp.figure(窗口名,figsize=窗口大小,dpi=分辨率,facecolor=背景色)
    功能:将指定窗口名设为当前窗口,如果不存在则创建,用于同时创建几个窗口。
  • mp.title(窗口标题,fontsize=字体大小)
  • mp.xlabel(水平轴标签,fontsize=字体大小)
  • mp.ylabel(垂直轴标签,fontsize=)
  • mp.tick_params(labelsize=刻度标签字体大小)
  • mp.grid(linestyle=网格线型)

示例代码:figure.py
效果图:
在这里插入图片描述

9、子坐标图
1)矩阵布局
mp.subplot(行数,列数,图号)
比如:mp.subplot(2, 2, 1)表示有两行两列四个图的第一个图
mp.subplot(2, 2, 3表示有两行两列四个图的第三个图

示例代码:subplot.py
效果图:
在这里插入图片描述
2)栅格布局
import matplotlib.gridspec as mg
gs = mg.Gridspec(行数,列数) # 获取栅格定位器
mp.subplot(栅格定位器[行,列])

示例代码:subplot_2.py
效果图:
在这里插入图片描述
3)自由布局
mp.axes([左,底,宽,高]) # 值为对屏幕的占比

示例代码:subplot_3.py
效果图:
在这里插入图片描述

下一篇:数据可视化Matplotlib-中

猜你喜欢

转载自blog.csdn.net/Qwertyuiop2016/article/details/84984470