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 相关文章推荐
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 Python
Python2.x版本中cmp()方法的使用教程
May 14 Python
利用python爬取散文网的文章实例教程
Jun 18 Python
python 实现对文件夹内的文件排序编号
Apr 12 Python
Python使用Pickle库实现读写序列操作示例
Jun 15 Python
python 剪切移动文件的实现代码
Aug 02 Python
详解django+django-celery+celery的整合实战
Mar 19 Python
python实现图像拼接
Mar 05 Python
python文件路径操作方法总结
Dec 21 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
Jan 07 Python
解决Pytorch修改预训练模型时遇到key不匹配的情况
Jun 05 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
Apr 02 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 PDOStatement::rowCount讲解
2019/02/01 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
javascript的键盘控制事件说明
2008/04/15 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
jQuery树形下拉菜单特效代码分享
2015/08/15 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
2016/07/10 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
vue.js评论发布信息可插入QQ表情功能
2017/08/08 Javascript
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
Python和php通信乱码问题解决方法
2014/04/15 Python
给Python入门者的一些编程建议
2015/06/15 Python
Python实现的桶排序算法示例
2017/11/29 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
python中itertools模块zip_longest函数详解
2018/06/12 Python
Python实现多进程的四种方式
2019/02/22 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
python实现将列表中各个值快速赋值给多个变量
2020/04/02 Python
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
新教师工作感言
2014/02/16 职场文书
家庭教育的心得体会
2014/09/01 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
机器人总动员观后感
2015/06/09 职场文书
员工手册董事长致辞
2015/07/29 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
《我要的是葫芦》教学反思
2016/02/18 职场文书
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python