要想把数据表示得生动的趣,往往需要使用多种颜色来配合,才可以让数据得已区分开来。那么就来学习一下matplotlib的颜色。在matplotlib里主要使用一些简单的字母来表示颜色,比如:

参考:

  • Matplotlib Color Tutorials List

  • ‘k’表示黑色;

  • ‘b’表示蓝色
  • c’表示青色
  • ‘g’表示绿色
  • ‘m’表示洋红
  • ‘r’表示红色
  • ‘y’黄色
  • ‘gray’或’grey’代表灰色
  • ‘lightgray’或’lightgrey’代表浅灰

这些颜色都是常用的颜色,如果你想定义一些特别的颜色,上面这些颜色也许不会满足你的需求,那么怎么办呢?这个不用急,接着下来介绍可以定义任意颜色的函数,它就是color = (r,g,b)的方式,这个语句就是利用红绿蓝三种颜色进行混合生成新颜色,这里r、g、b的取值范围是从0到1,如果color=(1,0,0)那么表示是红色,color=(0.7, 0.7, 0.7)表示浅灰色。通过下面的程序,可以绘制一个红色图:

Matplotlib 颜色

绘制这个色图时,使用了一个函数plot(),这个函数定义如下:

plt.plot([x1, x2], [y1, y2], linewidth = lw, color = ‘color’, linestyle = ‘ls’)

这个函数是画一条从(x1, y1)到(x2, y2)的直线,linewidth指定了线的宽度,color指定了线的颜色,linestyle指定线的样式。

整个例子的代码如下:

import matplotlib.pyplot as plt
import numpy as np

x1, x2 = 0, 100
y1, y2 = 0, 10

fig = plt.figure('deepinout.com')
plt.axis([x1, x2, y1, y2]) #

plt.xlabel('time')
plt.ylabel('S')
plt.title('title')


for x in np.arange(1, 100, 1):
    r = x/100
    g = 0
    b = 0
    plt.plot([x, x], [0, 10], linewidth = 5, color = (r, g, b))

plt.show()

在例子里,只有红色变量发生变化,如果你想构造不同的颜色,可以自行修改一下,比如只有绿色变化,或者只有蓝色变化,又或者三种颜色都在变化,就可以构造1700万种颜色。

有时候想混合背景的颜色,这时就需要使用透明通道的设置了,可以通过alpha参数来达到此目的。它的取值从0到1,当取值为1时,表示不透明,没有背景的颜色,如果为0就是表示完全透明。介于0与1之间,就是表示半透明状态。如下图:

Matplotlib 颜色

左边的alpha为1, 中间为0.5, 右边为0.1。

整个演示例子如下:

import matplotlib.pyplot as plt
import numpy as np

x1, x2 = 0, 100
y1, y2 = 0, 10


fig = plt.figure('deepinout.com')

plt.axis([x1, x2, y1, y2]) #

plt.xlabel('time')
plt.ylabel('S')
plt.title('title')

plt.scatter(20, 5, s = 1000, color = 'b', alpha = 1)
plt.scatter(40, 5, s = 1000, color = 'b', alpha = 0.5)
plt.scatter(60, 5, s = 1000, color = 'b', alpha = 0.1)

plt.show()

一般情况下,我们是在白色背景上绘制图案,但有时候需要在黑色背景下绘制,那又需要怎么办呢?由于matplotlib默认就是白色的背景,所以不用关心这个,但是黑色就要自己动手设置了,其实也比较简单的,就采用绘直线的函数plot来画满整个图,就可以得到黑色背景了,因此也可以采用这个方法来画不同颜色的背景。

参考:

  1. CSDN matplotlib color
  2. Jianshu matplotlib color
  3. Weibo matplotlib color
  4. Zhihu matplotlib color
  5. Youtube matplotlib color
  6. Douban matplotlib color
  7. Juejin matplotlib color
  8. UISDC matplotlib color
  9. Chinaz matplotlib color
  10. OSChina Matplotlib Color
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐