matplotlib可视化系列之【颜色】

颜色和排版一样,看似简单,其实非常复杂,往大了说,涉及到艺术和品味,不像数学公式,物理定理那样,是非分明。

但是,对 matplotlib 中的颜色有些基本的了解,可以让绘出的图形颜色不至于太突兀。
虽不能说选出完美的颜色搭配,至少是看着舒服,醒目的颜色搭配。

颜色的种类

颜色一般用 RGB 来表示,颜色空间主要有3种:

  1. RGB
  2. sRGB
  3. Lab

3种颜色空间都可以用 6位的16进制表示,只是显示出来的有些微的差别,在绘图时,一定要确定好自己用的是哪个颜色空间。
image.png

matplotlib 有默认的10个颜色和20个颜色,绘图时如果不指定颜色,那么就会用默认用这些颜色。
下面的代码可以打印出默认颜色:

import matplotlib.pyplot as plt
import matplotlib.colors as colors

cmap10 = plt.get_cmap("tab10")
cmap20 = plt.get_cmap("tab20")

[colors.to_hex(cmap10(i)) for i in range(10)]
[colors.to_hex(cmap20(i)) for i in range(20)]

颜色的运用

一般来说,颜色的运用根据数据的情况来定。

序列性质的数据

比如按照年份变化的数据,在折线图中使用单一显眼的颜色即可。
像红色,蓝色等这种和背景区分比较明显的颜色都行。

多个折线一起展示的时候,选择区分较大的颜色。

分组比较的数据

对于这种数据,不同组之间的数据用区分较大的颜色。同组内的数组可以用相同色系的渐变色来显示。
image.png

结合地理信息相关的数据

类似的这类数据一般是定性展示,不像上面2种数据需要在Y轴严格定量。

比如结合地理信息展示降水的情况,通过颜色的深浅来表示降水的是多少,从图上可以一目了然哪里的降水量比较大。
image.png

总结

总之,颜色的选择就像排版一样,没有一定的法则,平时积累,多留心观察别人绘制的图形很重要。

看到比较清晰的图,好的展示方式,记录下来,尝试应用应用,培养出绘图的感觉,慢慢就可以绘制出有自己特色的图。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:matplotlib可视化系列之【颜色】 - Python技术站

(0)
上一篇 2023年4月2日 下午5:29
下一篇 2023年4月2日

相关文章

  • 【pandas基础】–核心数据结构

    pandas中用来承载数据的两个最重要的结构分别是: Series:相当于增强版的一维数组 DataFrame:相当于增强版的二维数组 pandas最大的优势在于处理表格类数据,如果数据维度超过二维,一般我们会使用另一个 python的库 numpy。 本篇主要介绍这两种核心数据结构的创建方式。 1. Series pandas的Series是一种带有标签索…

    python 2023年5月8日
    00
  • 【manim】之目录动画

    概要 最近,结合视频剪辑工具剪映制作短视频时,如果不是数学相关的内容,使用视频剪辑工具配置字幕,添加图片等等比 manim更加方便。 所以,用 manim封装一个目录的动画,用来配合剪辑工具中的其他资源。 代码封装 基于manim封装一个目录显示的 class。主要属性就是 titles,也就是目录中的各个标题。 class CatalogDisplayer…

    Python开发 2023年3月31日
    00
  • matplotlib可视化系列之【缩放和投影】

    有时候,我们将数据变换之后再绘图,一方面,可以突出某些区域的数据;另一方面,变换之后可以更好的看出数据之间的关系。 matplotlib 提供了两种变换数据的方式,一种是 Scale(缩放),一种是Projection(投影)。 Scale是对数据的一个维度进行变换,Projection则是对2个或者2个以上的维度进行变换。 Scale – 缩放 线性缩放 …

    2023年4月2日
    00
  • matplotlib可视化系列之【排版】

    排版虽然只是绘图中的辅助功能,但是好的排版能够提高图形的表现力。让人一眼看出图形要表达的内容和数据,而不用去费力的睁大眼睛去图中查找。 如果说 matplotlib的坐标系统,各种基础元素,包括柱状图,折线图,散点图等它的硬实力,那么,排版就是 matplotlib 的软实力,结合排版,能让分析结果给人一个良好的第一印象,增强别人对分析结果的信任。 排版是个…

    2023年4月2日
    00
  • 【pandas基础】–数据读取

    数据读取是第一步,只有成功加载数据之后,后续的操作才有可能。 pandas可以读取和导入各种数据格式的数据,如CSV,Excel,JSON,SQL,HTML等,不需要手动编写复杂的读取代码。 1. 各类数据源 pandas提供了导入各类常用文件格式数据的接口,这里介绍3种最常用的加载数据的接口。 1.1 从 CSV 文件读取数据 读取csv文件的接口:rea…

    python 2023年5月4日
    00
  • 【pandas基础】–数据检索

    pandas的数据检索功能是其最基础也是最重要的功能之一。 pandas中最常用的几种数据过滤方式如下: 行列过滤:选取指定的行或者列 条件过滤:对列的数据设置过滤条件 函数过滤:通过函数设置更加复杂的过滤条件 本篇所有示例所使用的测试数据如下: import pandas as pd import numpy as np fp = “http://data…

    python 2023年5月10日
    00
  • 【manim】之滚动字幕

    概要 manim 是一个做数学视频的 python 库,这个库功能非常强大。具体可以参考官方介绍:https://github.com/ManimCommunity/manim/ 它本身只是封装数学相关的几何体和一些基础动画,所以,制作视频时,需要进一步封装更复杂的动画来满足视频的要求。最近做的一个视频有很多公式推导,所以封装了一个滚动字幕的组件。 代码封装…

    2023年4月2日
    00
  • 【manim动画教程】– 坐标系

    没有引入坐标系之前,在绘制图形时,也有一个隐含的坐标系,它和屏幕的像素相关。 比如,我们之前示例中的各个图形,屏幕的中心就是坐标原点([0, 0]),横轴坐标的范围大概是 [-3.5, 3.5],纵轴的坐标范围大概是 [-4, 4],这个范围与设置的视频分辨率有关,分辨率设置的越高的话,坐标范围越大。 不知是否还记得,之前的文章中绘制的线或者多边形(比如这个…

    python 2023年4月18日
    00
合作推广
合作推广
分享本页
返回顶部