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将多个文本文件合并为一个文本的代码(便于搜索)
Mar 13 Python
Python中声明只包含一个元素的元组数据方法
Aug 25 Python
Python3多线程操作简单示例
May 22 Python
Python实现字典(dict)的迭代操作示例
Jun 05 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
Mar 11 Python
Java多线程实现四种方式原理详解
Jun 02 Python
基于Python词云分析政府工作报告关键词
Jun 02 Python
Pandas中DataFrame交换列顺序的方法实现
Dec 14 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 01 Python
python 基于UDP协议套接字通信的实现
Jan 22 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
PHP的开合式多级菜单程序
2006/10/09 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
PHP队列用法实例
2014/11/05 PHP
简述php环境搭建与配置
2016/12/05 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
Laravel实现表单提交
2017/05/07 PHP
php数据序列化测试实例详解
2017/08/12 PHP
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
vue.js实现简单轮播图效果
2017/10/10 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
python 列表降维的实例讲解
2018/06/28 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
浅析python参数的知识点
2018/12/10 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
介绍一下linux的文件权限
2014/07/20 面试题
外贸业务员求职自荐信分享
2013/09/21 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
2015年教师国培感言
2015/08/01 职场文书
工作建议书范文
2019/07/08 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js