文章目录

  • 前言
  • 一、matplotlib的绘图样式(style)
    • 1.matplotlib预先定义样式
    • 2.用户自定义stylesheet
    • 3.设置rcparams
    • 4.修改matplotlibrc文件
  • 二、matplotlib的色彩设置(color)
    • 1.RGB或RGBA
    • 2.HEX RGB 或 RGBA
    • 3.灰度色阶
    • 4.单字符基本颜色
    • 5.颜色名称
    • 6.使用colormap设置一组颜色
  • 总结
  • 参考资料

前言

本文详细介绍了matplotlib中样式和颜色的使用,绘图样式和颜色是丰富可视化图表的重要手段,因此熟练掌握本章内容可以让可视化图表变得更美观,突出重点和凸显艺术性。
关于绘图样式,常见的有4种方法,分别是修改预定义样式,自定义样式,rcparams和matplotlibrc文件。
关于颜色使用,本章介绍了常见的5种表示单色颜色的基本方法,以及colormap多色显示的方法


一、matplotlib的绘图样式(style)

在matplotlib中,要想设置绘制样式,最简单的方法是在绘制元素时单独设置样式。 但是有时候,当用户在做专题报告时,往往会希望保持整体风格的统一而不用对每张图一张张修改,因此matplotlib库还提供了四种批量修改全局样式的方式

1.matplotlib预先定义样式

matplotlib提供了许多内置的样式供用户使用,使用方法很简单,只需在python脚本的最开始输入想使用的style名称即可调用,以下样例比较了不同内置样式的区别。

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('default')
plt.plot([1,2,3,4],[2,3,4,5]);
plt.show()

plt.style.use('ggplot')
plt.plot([1,2,3,4],[2,3,4,5]);


matplotlib内置了26种丰富的样式可供选择。

print(plt.style.available)
['Solarize_Light2', '_classic_test_patch', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark', 'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'tableau-colorblind10']

2.用户自定义stylesheet

在任意路径下创建一个后缀名为mplstyle的样式清单,编辑文件添加以下样式内容

axes.titlesize : 24
axes.labelsize : 20
lines.linewidth : 3
lines.markersize : 10
xtick.labelsize : 16
ytick.labelsize : 16

引用自定义stylesheet后观察图表变化。

plt.style.use('test.mplstyle')
plt.plot([1,2,3,4],[2,3,4,5]);


**注:**matplotlib支持混合样式的引用,只需在引用时输入一个样式列表,若是几个样式中涉及到同一个参数,右边的样式表会覆盖左边的值。

plt.style.use(['dark_background', 'test.mplstyle'])
plt.plot([1,2,3,4],[2,3,4,5]);

3.设置rcparams

我们还可以通过修改默认rc设置的方式改变样式所有rc设置都保存在一个叫做 matplotlib.rcParams的变量中。修改过后再绘图,可以看到绘图样式发生了变化。

plt.style.use('default') # 恢复到默认样式
plt.plot([1,2,3,4],[2,3,4,5]);

mpl.rcParams['lines.linewidth'] = 2
mpl.rcParams['lines.linestyle'] = '--'
plt.plot([1,2,3,4],[2,3,4,5]);


matplotlib还提供了一种更便捷的修改样式方式,可以一次性修改多个样式。

mpl.rc('lines', linewidth=4, linestyle='-.')
plt.plot([1,2,3,4],[2,3,4,5]);

4.修改matplotlibrc文件

由于matplotlib是使用matplotlibrc文件来控制样式的,也就是上一节提到的rc setting,所以我们还可以通过修改matplotlibrc文件的方式改变样式

mpl.matplotlib_fname()


找到路径后,就可以直接编辑样式文件了,文件中列举了所有的样式参数,找到想要修改的参数,比如lines.linewidth: 8,并将前面的注释符号去掉,此时再绘图发现样式已经生效了。

二、matplotlib的色彩设置(color)

在可视化中,如何选择合适的颜色和搭配组合也是需要仔细考虑的,色彩选择要能够反映可视化图像的主旨。
从可视化编码的角度对颜色进行分析,可以将颜色分为色相、亮度和饱和度三个视觉通道。通常来说:
色相: 没有明显的顺序性、一般不用来表达数据量的高低,而是用来表达数据列的类别
明度和饱和度: 在视觉上很容易区分出优先级的高低、被用作表达顺序或者表达数据量视觉通道。
在matplotlib中,设置颜色有以下几种方式:

1.RGB或RGBA

plt.style.use('default')
# 颜色用[0,1]之间的浮点数表示,四个分量按顺序分别为(red, green, blue, alpha),其中alpha透明度可省略
plt.plot([1,2,3],[4,5,6],color=(0.1, 0.2, 0.5))
plt.plot([4,5,6],[1,2,3],color=(0.1, 0.2, 0.5, 0.5));

2.HEX RGB 或 RGBA

# 用十六进制颜色码表示,同样最后两位表示透明度,可省略
plt.plot([1,2,3],[4,5,6],color='#0f0f0f')
plt.plot([4,5,6],[1,2,3],color='#0f0f0f80');


RGB颜色和HEX颜色之间是可以一一对应的,以下网址提供了两种色彩表示方法的转换工具:https://www.colorhexa.com/

3.灰度色阶

# 当只有一个位于[0,1]的值时,表示灰度色阶
plt.plot([1,2,3],[4,5,6],color='0.5');

4.单字符基本颜色

# matplotlib有八个基本颜色,可以用单字符串来表示,分别是'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w',对应的是blue, green, red, cyan, magenta, yellow, black, and white的英文缩写
plt.plot([1,2,3],[4,5,6],color='c');

5.颜色名称

# matplotlib提供了颜色对照表,可供查询颜色对应的名称
plt.plot([1,2,3],[4,5,6],color='olive');


如下展示了部分颜色对照表:

6.使用colormap设置一组颜色

有些图表支持使用colormap的方式配置一组颜色,从而在可视化中通过色彩的变化表达更多信息。
在matplotlib中,colormap共有五种类型
顺序(Sequential):通常使用单一色调,逐渐改变亮度,颜色渐渐增加,用于表示有序的信息
发散(Diverging):改变两种不同颜色的亮度和饱和度,这些颜色在中间以不饱和的颜色相遇;当绘制的信息具有关键中间值(例如地形)或数据偏离零时,应使用此值
循环(Cyclic):改变两种不同颜色的亮度,在中间和开始/结束时以不饱和的颜色相遇。用于在端点处环绕的值,例如相角,风向或一天中的时间
定性(Qualitative):常是杂色,用来表示没有排序或关系的信息
杂色(Miscellaneous):一些在特定场景使用的杂色组合,如彩虹,海洋,地形等。

#6.使用colormap设置一组颜色
x = np.random.randn(50)
y = np.random.randn(50)
plt.scatter(x,y,c=x,cmap='RdPu');


以下官网页面可以查询上述五种colormap的字符串表示和颜色图的对应关系
https://matplotlib.org/stable/tutorials/colors/colormaps.html

总结

以上就是今天要讲的内容,本文介绍了matplotlib中样式和颜色的使用,介绍了四种matplotlib的绘图样式和六种matplotlib的色彩设置方法。

参考资料

[1].https://zhuanlan.zhihu.com/p/88892542
[2].https://matplotlib.org/stable/tutorials/introductory/customizing.html?highlight=rcparams
[3].https://matplotlib.org/stable/tutorials/colors/colors.html#sphx-glr-tutorials-colors-colors-py

Task 05:样式色彩秀芳华相关推荐

  1. 数据可视化组队学习:《Task05 - 样式色彩秀芳华》笔记

    文章目录 前言 1 matplotlib全局样式设定 1.1 matplotlib自带的样式 1.2 打造属于自己的全局绘图样式 1.2.1 使用.mplstyle文件来设置 1.2.2 设置rcpa ...

  2. 数据可视化系列(五):样式色彩秀芳华

    一.matplotlib的绘图样式(style) 在matplotlib中,要想设置绘制样式,最简单的方法是在绘制元素时单独设置样式. 但是有时候,当用户在做专题报告时,往往会希望保持整体风格的统一而 ...

  3. 第五回:样式色彩秀芳华

    import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np 第五回详细介绍matplotlib中样式和颜色的 ...

  4. Task5样式色彩秀芳华

    DW5的个人总结: 一.常见的样式方法有4种,分别是预定义样式,自定义样式,rcparams和matplotlibrc文件. 二.常见的颜色方法有两种,分别是5种单色颜色,colormap多色. 本章 ...

  5. Matplotlib从入门到精通05-样式色彩秀芳华

    Matplotlib从入门到精通05-样式色彩秀芳华 总结 Matplotlib从入门到精通05-样式色彩秀芳华 导入依赖 一.matplotlib的绘图样式(style)¶ 1.matplotlib ...

  6. Matplotlib 05-样式色彩秀芳华

    Matplotlib 05-样式色彩秀芳华 一.matplotlib的绘图样式(style) 在matplotlib中,要想设置绘制样式,最简单的方法是在绘制元素时单独设置样式. 但是有时候,当用户在 ...

  7. 伯禹公益AI《动手学深度学习PyTorch版》Task 05 学习笔记

    伯禹公益AI<动手学深度学习PyTorch版>Task 05 学习笔记 Task 05:卷积神经网络基础:LeNet:卷积神经网络进阶 微信昵称:WarmIce 昨天打了一天的<大革 ...

  8. Datawhale打卡任务 Task 05爬虫入门与综合应用

    Task 05爬虫入门与综合应用 Task 05爬虫入门与综合应用 5.0 前言 5.1 Requests简介 5.1.1 访问百度 5.1.2 下载txt文件 5.1.3 下载图片 5.2 HTML ...

  9. Taro+react开发(98):问答模块05样式调整

最新文章

  1. h.264码流解析_一个SPS的nalu及获取视频的分辨率
  2. python elif 用法_Python入门高级教程--Python 条件语句
  3. python生成随机字符串
  4. 企业实战03:Oracle数据库_用户和表空间
  5. android java内存 c内存_Android NDK java和C\C++交互 | 学步园
  6. js定时器异步请求时候 上一个请求没有响应时下一个请求已经开始_关于异步的理解...
  7. [Java][Android][Process] ProcessBuilder与Runtime区别
  8. 手机CAD如何快速看图下载?
  9. Cannot resolve plugin org.apache.tomcat.maven:tomcat7-maven-plugin:<unknown>
  10. Excel自定义格式详解
  11. 计算机控制中的时序,时序控制
  12. IDEA统计代码量Statistic插件
  13. 『我与飞桨的故事』越波飞桨逐凫鷖
  14. 狂野飙车8:极速凌云 for Mac v1.0.2 Asphalt 8 好玩的赛车游戏
  15. Filezilla 连接不上 Error: Connection timed out after 20 seconds of inactivity
  16. 什么是Linux 的xxd
  17. Electron主进程和渲染进程之间通信
  18. 【Linux共享内存】
  19. 大数据存储技术方案介绍
  20. VMWare workstation 在打开虚拟机时出现 Unable to find the VXM binary

热门文章

  1. HTML CSS学习总结
  2. mawen启动项目css样式失效问题解决方法 EL表达式无效
  3. 企业数据安全三大壁垒:MDM、MIM和MAM
  4. java程序设计清华大学出版社_清华大学出版社-图书详情-《Java程序设计基础》...
  5. mysql索引类型normal,unique,full text的区别?
  6. 选择排序-简单选择排序
  7. php date函数 在哪里,PHP date函数
  8. Houdini_grass_sim (关于植物结算)
  9. 手机几款超级好用的APP你都认识吗
  10. 后端的一个刚毕业的小伙子老早完成了架构和服务端逻辑,接口洋洋洒洒列了出来。。。...