matplotlib 中的颜色和颜色映射的使用

一、指定颜色的方法

1、使用名称或缩写

1.1 matplotlib 内建的默认颜色缩写如下:

'b':蓝色(blue)               'g':绿色(green)
'r':红色(red)                 'c':青色(cyan)
'm':洋红(magenta)          'y':黄色(yellow)
'k':黑色(black)               'w':白色(white)

1.2  matplotlib 中的 148 种颜色

颜色全写和缩写的大小写都可以。

 

2、用区间 [0, 1] 上的浮点字符串指定灰度值。

例如,0 为黑色,1 为白色。

 

3、用区间 [0,1] 上的浮点数指定三元(RGB) 或 四元(RGBA) 元组

例如: (0.1, 0.3, 0.7)

 

4、用十六进制字符串指定RGB或RGBA值。

例如、#0F0F0F  ,#1F2F3F4F

 

matplotlib 中的 148 种颜色

matplotlib 中的 160 种颜色映射

 

#1、matplotlib中的 148 种颜色

import matplotlib as mpl
import matplotlib.pyplot as plt

colors = mpl.colors.cnames.keys()

fig = plt.figure('百里希文', facecolor='lightyellow', edgecolor='k')
axes = fig.subplots(len(colors)//4, 4)

for c, ax in zip(colors, axes.ravel()):
    ax.hist(1, 3, color=c)
    ax.text(1.2, 0.1, c)
    ax.set_axis_off()
fig.subplots_adjust(left
=0, bottom=0, right=0.9, top=1, hspace=0.1, wspace=0.1)
plt.show()

#2 matplotlib 中的 160 种颜色映射

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

cmaps = mpl.cm.cmap_d.keys()    # 也可用 cmamps = plt.colormaps()
gradient = np.linspace(0, 1, 256)
gradient = np.vstack((gradient, gradient))  

fig = plt.figure(figsize=(42, 62),
                 facecolor='lightyellow',
                )
axes = fig.subplots(len(cmaps)//2, 2)    # 增加绘图子区


# 
for cmap, ax in zip(sorted(cmaps), axes.ravel()):
    # 绘制图形
    ax.imshow(gradient,
              aspect='auto',
              cmap=plt.get_cmap(cmap)
             )
    
    # 在每个图形中添加文本
    ax.text(x=100, y=1,    # 文本所在坐标位置 
            s=cmap,    # 文本内容
            fontsize=28,    # 文本字体大小
            color='k',    # 文本颜色
            weight='bold',    # 字体粗细风格
           )
    
    # 不显示坐标轴
    ax.set_axis_off()

# 设置子区布局    
fig.subplots_adjust(left=0.1, right=0.8,
                    top=1, bottom=0, 
                    hspace=0.3, wspace=0.4)    
plt.show()

 

 

 

按语:

推荐几篇文章

https://cloud.tencent.com/developer/ask/136207/answer/241390

https://blog.csdn.net/Mr_Cat123/article/details/78638491

https://www.cnblogs.com/charliedaifu/p/9957822.html

https://blog.csdn.net/zhaogeng111/article/details/78419015

原文地址:https://www.cnblogs.com/shanger/p/12040545.html