1. 折线图:plt.plot

  • 设置数据:plt.plot(x,y),单列数据传入默认y轴,此时x轴数据默认从0逐渐对应递增
  • 设置颜色:plt.plot(x,y,color/c=" "),RGB颜色列表为:xkcd.com/color/rgb/
  • 设置数据点的形状:plt.plot(x,y,marker=" "), 符号参考: matplotlib.org/api/markers…
  • 设置连接线风格:plt.plot(x,y,linestyle/ls=" ")
  1. '-' or 'solid' ——solid line
  2. '--' or 'dashed' ——dashed line
  3. '-.' or 'dashdot' ——dash-dotted line
  4. ':' or 'dotted' ——dotted line
  5. 'None'/' '/'' ——draw nothing
  • 其它设置:线宽-linewidth/lw=n;点大小-markersize=m;透明度-alpha=m;label='XXX'用于设置标签(必须使用plt.legend(loc="upper left")来显示标签)
  • 颜色点线同时设置:"ro-"
  • 同时绘制多条线:plt.plot(x1,y1,"ro",x2,y2,"b0")

2. 散点图:plt.scattor

  • 设置数据:plt.scatter(x,y),必须传入x,y
  • 设置点的大小:plt.scatter(x,y,s),s为入一维数组,表示点的大小,默认统一为20
  • 设置颜色
  1. 可以用c='X'设置单个颜色,
  2. 也可以用'c=seq'使得序列中对应位置数字相同的点颜色相同,此时可以用cmap='XXX'来设置颜色模式。如下图,第一个第三个点数字相同,则颜色相同
  3. 或者直接c=['r','b'...]来设置不同颜色
  4. cmap可使用的颜色模式参考链接: matplotlib.org/examples/co…

  • 设置数据点的形状:同plot
  • 其它设置:线宽-linewidth/lw=n;点大小-markersize=m;透明度-alpha=m;边缘颜色-edgecolor=X;label='XXX'用于设置标签(必须使用plt.legend(loc="upper left")来显示标签)

3. 柱状图:plt.bar

  • 设置数据:plt.bar(x,y),必须同时传入x,y,x表示各个柱的位置,y表示高度
  • 设置柱形宽度:plt.bar(x,y,width),width设置宽度,默认0.8
  • 设置颜色:可以用color/facecolor='X'设置单个颜色,也可以用'color=['r','b'...]'设置多个颜色。颜色参考:xkcd.com/color/rgb/
  • 其它设置:线宽-linewidth/lw=n;透明度-alpha=m;边缘颜色-edgecolor=X;基座高度-bottom=0.2;label='XXX'用于设置标签(必须使用plt.legend(loc="upper left")来显示标签)

4. 直方图:plt.hist

  • 设置数据:plt.hist(x,bins),必须传入x,y,x为数据;y为柱形个数,可以为'auto'
  • 频数/频率图:density=True默认为频率/False频数
  • 设置数据范围:range=(a,b),限定数据范围
  • 柱子间隙:rwidth=n,默认为0
  • 设置柱形宽度:plt.bar(x,y,width),width设置宽度,默认0.8
  • 设置颜色:可以用color/facecolor='X'设置单个颜色。颜色参考:xkcd.com/color/rgb/
  • 其它尺寸:线宽-linewidth/lw=n;透明度-alpha=m;边缘颜色-edgecolor=X;label='XXX'用于设置标签(必须使用plt.legend(loc="upper left")来显示标签)

5. 箱线图:plt.boxplot

  • 设置数据:plt.boxplot(x) ,x为多列数据-[列1,列2...]
  • 设置箱型:plt.boxplot(x,notch=),notch默认为false,长方形;False是指在50%位显示缺口,缺口越大,数*据越分散
  • 设置横向纵向:plt.boxplot(x,vert=),vert默认True,垂直状态;False显示横向
  • 设置最大最小值:plt.boxplot(x,whis=[n,m]),whis=[25,85],表示限度在25%到85%之间,即顶端横线的位置
  • 设置箱体宽度:widths=
  • 设置箱体填充:patch_artist=True
  • 设置各箱型名称:labels=[1,2,3...]
  • 每个箱型填充不同颜色:需遍历填充,bplot[boxes]取到各个箱型,遍历填充

6. 其它设置

  • 设置坐标轴范围:plt.axis([xmin, xmax, ymin, ymax]) ,四个参数必须同时包括
  • 设置xy坐标轴名称:plt.x/ylabel("XXX")
  • 设置图表标题:plt.title("XXX")
  • 显示网格:plt.grid(True)
  • 同一张子图上绘制:plt.plot(ax=ax1))
  • 直接用dataframe绘图:df.plot(x=,y=,kind=,label=)
  • 对某点设置注释:plt.annotate('注释内容',xy=(被标注点坐标),xytext=(内容文本坐标),arrowprops= dict(width=箭头方块宽度, headwidth=箭头尖宽度, headlength=箭头尖长度, shrink=收缩比例,越大越短, facecolor=箭头颜色 ))

7. 绘图步骤

  • 设置画板

plt.figure( num-画板编号,默认逐渐递增;
figsize(a,b)-画板尺寸;
dpi分辨率,默认100;
facecolor-背景颜色,默认白;
edgecolor-边框颜色,默认白;
frameon=True是否显示绘图框,
clear=False是否清楚已存在的同名图)

  • 设置单个子图:ax1=plt.subplot(221),ax2=plt.subplot(222)
  • sharex/y=True表示所有子图使用相同的x/y刻度
  • 同时创建多个子图:axes/((ax1,ax2),(ax3,ax4))=plt.subplots(2,1,sharex=True),axes[0,1]...
  • 任意位置绘图:ax1 = fig.add_axes([left, bottom, width, height],),left, bottom表示位于画板的百分之几位置;width, height表示宽高占画板的多少
  • 子图设置标题,标签:ax1.set_title("XXX");ax1.set_xlable()
    plt.subplot2grid式

ax1=plt.subplot2grid((3, 3), (1, 0),colspan=2,rowspan=1)

表示设置一个3行3列的绘图区域,在第2行,第一列位置开始绘图,列跨度为2,行跨度为1

  • GridSpec式

import matplotlib.gridspec as gridspec

gs = gridspec.GridSpec(3, 3)

ax7 = plt.subplot(gs[1, :2]),表示子图占第2行和第3列前的所有列,

ax10 =
plt.subplot(gs[-1, -2]),表示子图占倒数第1行和倒数第2列.

  • 设置字体大小

ax = plt.subplot(111)
设置刻度字体大小:plt.xticks(fontsize=20);plt.yticks(fontsize=20)
设置坐标标签字体大小:ax.set_xlabel(..., fontsize=20);ax.set_ylabel(...,fontsize=20)
设置图例字体大小:ax.legend(..., fontsize=20)

欢迎关注我的公众号,了解一个学设计却做了运营最后成了数据分析师并努力成为大数据工程师的女程序员的成长之路。

matplotlib可视化最全指南的更多相关文章

  1. 【转】一个 Vim 重度用户总结的 vim 超全指南

    [转]一个 Vim 重度用户总结的 vim 超全指南 我本人是 Vim 的重度使用者,就因为喜欢上这种双手不离键盘就可以操控一切的feel,Vim 可以让我对文本的操作更加精准.高效. 对于未使用过 ...

  2. 国外大神制作的一个很棒的matplotlib 可视化教程

    国外大神制作的一个很棒的matplotlib 可视化教程 参考:https://www.machinelearningplus.com/plots/top-50-matplotlib-visualiz ...

  3. SciKit-Learn 使用matplotlib可视化数据

    章节 SciKit-Learn 加载数据集 SciKit-Learn 数据集基本信息 SciKit-Learn 使用matplotlib可视化数据 SciKit-Learn 可视化数据:主成分分析(P ...

  4. OpenCV On Android环境配置最新&最全指南(Android Studio篇)

    本文是从本人简书上搬运而来,属本人原创,如有转载,请注明出处:http://www.jianshu.com/p/6e16c0429044 简介 本文是<OpenCV On Android环境配置 ...

  5. OpenCV On Android环境配置最新&最全指南(Eclipse篇)

    简介 本教程是经过本人多次踩坑,并参考网上众多OpenCV On Android的配置教程总结而来,尽希望能帮助学习移动图像处理的朋友们少走弯路.这也是本人第一次在简书上发布文章,如有不足,希望各位d ...

  6. 从DeepNet到HRNet,这有一份深度学习“人体姿势估计”全指南

    从DeepNet到HRNet,这有一份深度学习"人体姿势估计"全指南 几十年来,人体姿态估计(Human Pose estimation)在计算机视觉界备受关注.它是理解图像和视频 ...

  7. LG gram 双系统全指南

    LG gram 双系统全指南 为了和同学联机玩帝国时代2,以及为了下学期的编程课,五年没用过 Windows 的我决定装 Ubuntu20.04 LTS / WIndows 10 双系统了. 我的 L ...

  8. Python数据分析matplotlib可视化之绘图

    Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且语法简单. Python中通过matplotlib模块的pypl ...

  9. matplotlib可视化之如何给图形添加数据标签?

    当我们获取完数据之后,一般来说数据可视化呈现的最基础图形就是:柱状图.水平条形图.折线图等等,在python的matplotlib库中分别可用bar.barh.plot函数来构建它们,再使用xtick ...

随机推荐

  1. linux 如何把一个装好的系统做成镜像(文件备份)

    linux 如何把一个装好的系统做成镜像(文件备份)  我来答 浏览 11851 次来自电脑网络类芝麻团 2016-01-19 案例1(命令式操作) 像'ghost'那些备份系统,系统出了问题就恢复 ...

  2. MySQL通过自定义函数实现递归查询父级ID或者子级ID

    背 景: 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度, 那么所有节点为根的树的深度均不会超过树的最大深度,则我们可以直接通过left join来实现. 但很多时候我们是无 ...

  3. flexpaper跨服务器访问swf不显示问题

    在项目中使用flexpaper.html在线预览时,发现文件存放在本地localhost能访问,在服务器上的无法访问,通常报错“loadswf() is not defined” 研究发现是跨域问题导 ...

  4. 看完这篇还不会用Git,那我就哭了!

    你使用过 Git 吗?也许你已经使用了一段时间,但它的许多奥秘仍然令人困惑. Git 是一个版本控制系统,是任何软件开发项目中的主要内容.通常有两个主要用途:代码备份和代码版本控制.你可以逐步处理代码 ...

  5. 预训练语言模型整理(ELMo/GPT/BERT...)

    目录 简介 预训练任务简介 自回归语言模型 自编码语言模型 预训练模型的简介与对比 ELMo 细节 ELMo的下游使用 GPT/GPT2 GPT 细节 微调 GPT2 优缺点 BERT BERT的预训 ...

  6. 微信中使用popup等弹窗组件时点击输入框input键盘弹起导致IOS中按钮无效处理办法

    因为在IOS微信中在弹窗中使用input使键盘弹起,使弹窗的位置上移,当键盘关闭时页面还在上面,弹窗位移量也在上面,只有下拉才能回到原位,这样弹窗也消失了.我的处理办法就是在键盘弹起和消失的时候,让页 ...

  7. 2019牛客暑期多校训练营(第九场)Quadratic equation——二次剩余(模奇素数)

    题意:给定p=1e9+7,构造x,y使其满足(x+y) mod p = b,(x*y) mod p = c . 思路:不考虑取模的情况下, .在取模的意义下,,因为a是模p的二次剩余的充分必要条件为  ...

  8. c 语言I博客作业02

    这个作业属于哪个课程 C语言程序设计1 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/8687 我在这个课程的目标是 ...

  9. 小白的springboot之路(一)、环境搭建、第一个实例

    小白的springboot之路(一).环境搭建.第一个实例 0- 前言 Spring boot + spring cloud + vue 的微服务架构技术栈,那简直是爽得不要不要的,怎么爽法,自行度娘 ...

  10. Laravel 中使用 swoole 项目实战开发案例一 (建立 swoole 和前端通信)

    1 开发需要环境 工欲善其事,必先利其器.在正式开发之前我们检查好需要安装的拓展,不要开发中发现这些问题,打断思路影响我们的开发效率. 安装 swoole 拓展包 安装 redis 拓展包 安装 la ...