matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)


Posted in Python onSeptember 25, 2020

Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

今天是数据处理专题的第11篇文章,我们继续来介绍matplotlib这个包的使用方法。

在上一篇文章当中我们介绍了matplotlib当中subplot的概念以及用法,今天我们将会来介绍matplotlib绘图中的一些具体的设置,可以让我们画出来的图像更加丰富,表现力也更强。

颜色

我们之前绘制的图像都是蓝色的,这也是matplotlib的默认颜色。我们可以使用color这个参数来设置图像的颜色,比如我们想要画原谅色的图,我们就传入color='green',这样我们得到的图像就是绿色了。

matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)

由于绿色是很常见的颜色(大雾),所以我们没必要输入完整的green单词,使用g作为缩写就可以了。除了绿色之外,其他常用的颜色也一样,比如红色可以就写成r,蓝色写成b,黄色写成y等等。

相对来说这些常用颜色还是比较好记的,如果记不住也没有关系,我们可以在jupyter当中通过plt.plot?这个命令来查阅相关的文档。把文档拉到最后,我们可以看到关于颜色设置的定义:

matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)

这里有两个颜色看起来不太常用,一个是cyan是青色,另外一个是magenta是品红。说明老外对颜色的喜好和审美和我们国人还是有些差距的。

除了使用单词之外,我们还可以使用16进制来表示颜色。比如#CECECE,表示一种淡淡的灰色。到底有多灰呢?我们画出来就知道了。

matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)

16进制表示颜色是一种常见的方法,我们知道光的三原色是红绿蓝,也就是RGB。在计算机领域常用0-255这256个数字来表示某一个原色的强弱。通过三原色的不同组合,我们可以组合出所有的颜色。一共三种原色,那么自然也就需要三个数字来表示,由于255以内的数字写成16进制只有两位,所以我们可以用6位16进制的数字来代表颜色。这也是计算机领域非常常见的颜色表示方法,像是前端CSS调色也是一样的道理。

标记

下面要介绍的是标记,标记的目的是用来凸显数据。plot默认画出来的是一条光滑的曲线,虽然它其实也是将若干个数据点连起来画成的。光滑的曲线有一个问题就是我们看不出来我们的样本究竟是什么,我们只看得到图像,不知道原始数据。

举个例子,我们用随机数据画一个折线图:

matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)

我们固然知道这个图是由数据点连起来得到的,但是我们能准确得找到所有的数据点吗?明显还是比较困难的,因为我们不能判断每一段看起来比值的线段之间存不存在数据点。

针对这个问题,我们可以使用标记,也就是在图上把每个点都标出来。最常见的标记就是圆点,我们让每一个样本变成一个圆点,这样就很直观了。我们可以通过marker这个参数实现这一点,比如如果要画圆点的话,我们传入marker='o'即可。

matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)

除了圆点之外,还有很多其他的方式,我们同样可以查看plot的文档获得细节。

matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)

线条

最后一个可以定制化的内容是线条,我们可以修改plot画出来的线条种类。默认的当然是实线,既然有实线,那么肯定也就有虚线。虚线有两种一种是点虚线一种是全虚线。英文叫做dashed line 和dash-dot line。

线条通过参数linestyle来设置,我们先来看看全虚线,两个短线表示全虚线。如果是一根短线表示实线,也就是默认的style。

matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)

image-20200902162013003

除了虚线图之外还有点线图和点状图,这两者顾名思义,大家应该不难猜出来。

matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)

三合一

我们回顾一下我们刚才介绍的,一共有三种特性,分别是标记、线条以及颜色。我们需要传入三个参数来控制它们,怎么说呢,从逻辑上来说这毫无问题。但操作起来还是有点麻烦,所以matplotlib的作者提供了一个三合一的方法,我们可以直接传入一个参数把颜色、线条以及标记一起定义了。

怎么使用呢,我们可以在末尾传入一个字符串,用这一个字符串涵盖刚才介绍的三种参数。我们来看一个例子:

matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)

我们很容易看出来这张图是一张绿色的,点状标记的虚线图。我们传入的字符串是'og--',很明显,o代表的是标记,g代表的是颜色green,--代表的是虚线。我们把这三个参数融合在了一个字符串当中。我们交换它们的顺序,写成go--也是一样OK的。如果你不需要设置标记以及线条,也可以去掉一个,同样可以运行。

但是这里要注意,这里的颜色只能使用缩写,不支持其他的写法。说白了这种方法只是用来书写方便的,如果要追求实用性还是应该使用参数来设置。

原文链接,求个关注

本文使用 mdnice 排版

到此这篇关于matplotlib设置颜色、标记、线条,让你的图像更加丰富的文章就介绍到这了,更多相关matplotlib设置颜色、标记、线条内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python发送伪造的arp请求
Jan 09 Python
Python实现八大排序算法
Aug 13 Python
Python写的一个定时重跑获取数据库数据
Dec 28 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
python编写分类决策树的代码
Dec 21 Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 Python
Python依赖包整体迁移方法详解
Aug 15 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
Python 的 __str__ 和 __repr__ 方法对比
Sep 02 Python
Python join()函数原理及使用方法
Nov 14 Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 Python
python实现人性化显示金额数字实例详解
Sep 25 #Python
python 绘制正态曲线的示例
Sep 24 #Python
Python爬取网页信息的示例
Sep 24 #Python
详解用python -m http.server搭一个简易的本地局域网
Sep 24 #Python
Python中的None与 NULL(即空字符)的区别详解
Sep 24 #Python
python绘制分布折线图的示例
Sep 24 #Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
Sep 24 #Python
You might like
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
2019/10/16 PHP
javascript 事件绑定问题
2011/01/01 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
浅谈JavaScript中的Math.atan()方法的使用
2015/06/14 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
ajax异步请求详解
2017/01/06 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
基于JavaScript实现验证码功能
2017/04/01 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
Python 常用string函数详解
2016/05/30 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
环境工程毕业生自荐信
2013/11/17 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
司机辞职报告范文
2014/01/20 职场文书
教师节演讲稿
2014/05/06 职场文书
美食节目策划方案
2014/05/31 职场文书
学前教育专业求职信
2014/09/02 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
Ruby处理CSV数据方法详解
2022/04/18 Ruby