ITPub博客

首页 > 数据库 > 数据库开发技术 > 数据可视化库Matplotlib-上

数据可视化库Matplotlib-上

原创 数据库开发技术 作者:kanadeblisst 时间:2019-05-24 18:34:25 0 删除 编辑


提示:为了避免文章过长,代码全托管到码云,请复制链接到浏览器查看或下载。


首先:

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参数,它会自己找合适的位置放上去

  • loc = 'upper left'  左上   ‘lower right’ 右下  ‘upper center’

  • 图例文本含有数学表达式的用相应的转义字符,详情参考https://blog.csdn.net/henkekao/article/details/72879393 


1-5示例代码:https://gitee.com/kanadeblisst/CSDN/blob/master/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示例: https://gitee.com/kanadeblisst/CSDN/blob/master/scatter.py


效果图:


8、图形窗口对象

  • mp.figure(窗口名,figsize=窗口大小,dpi=分辨率,facecolor=背景色)

    功能:将指定窗口名设为当前窗口,如果不存在则创建,用于同时创建几个窗口。

  • mp.title(窗口标题,fontsize=字体大小)

  • mp.xlabel(水平轴标签,fontsize=字体大小)

  • mp.ylabel(垂直轴标签,fontsize=)

  • mp.tick_params(labelsize=刻度标签字体大小)

  • mp.grid(linestyle=网格线型)


示例:https://gitee.com/kanadeblisst/CSDN/blob/master/figure.py


效果图:


9、子坐标图

1)矩阵布局

mp.subplot(行数,列数,图号) # mp.subplot(2, 2, 1)表示有两行两列四个图的第一个图# mp.subplot(2, 2, 3)表示有两行两列四个图的第三个图


示例:https://gitee.com/kanadeblisst/CSDN/blob/master/subplot.py


效果图:


2)栅格布局

import matplotlib.gridspec as mggs = mg.Gridspec(行数,列数) # 获取栅格定位器mp.subplot(栅格定位器[行,列])


示例:https://gitee.com/kanadeblisst/CSDN/blob/master/subplot_2.py


效果图:

3)自由布局

mp.axes([左,底,宽,高]) # 值为对屏幕的占比


示例:https://gitee.com/kanadeblisst/CSDN/blob/master/subplot_3.py


效果图:



如微信排版看的不是很舒服,可以点击原文查看我的CSDN博客。





原文作者:Python成长路;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-05-15

  • 博文量
    117
  • 访问量
    67421