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实现一个简单的多线程TCP服务器的教程
May 05 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
Jan 20 Python
tensorflow实现KNN识别MNIST
Mar 12 Python
解决已经安装requests,却依然提示No module named requests问题
May 18 Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 Python
关于Flask项目无法使用公网IP访问的解决方式
Nov 19 Python
在python中logger setlevel没有生效的解决
Feb 21 Python
python 绘制场景热力图的示例
Sep 23 Python
python利用tkinter实现图片格式转换的示例
Sep 28 Python
Python爬虫基础之简单说一下scrapy的框架结构
Jun 26 Python
Python实现Matplotlib,Seaborn动态数据图
May 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 根据IP地址控制访问的代码
2010/04/22 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
2013/06/13 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
IE浏览器兼容Firefox的JS脚本的代码
2008/10/23 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
JavaScript函数详解
2014/11/17 Javascript
javascript几个易错点记录
2014/11/26 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
js使用i18n实现页面国际化的方法
2017/05/09 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
[42:11]TNC vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
Python中用Spark模块的使用教程
2015/04/13 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
关于多元线性回归分析——Python&SPSS
2020/02/24 Python
python实现坦克大战
2020/04/24 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
简单而又朴实的个人求职信分享
2013/12/12 职场文书
小学生元旦感言
2014/02/26 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
导游欢迎词范文
2015/01/23 职场文书
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android