plt创建指定色系

1、创建不连续色系

import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap

# 定义颜色的RGB值
colors = [(0.2, 0.4, 0.6),   # 蓝色
          (0.8, 0.1, 0.3),   # 红色
          (0.5, 0.7, 0.2),
          (0.3,0.5,0.8)]   # 绿色

# 创建色系
cmap = ListedColormap(colors)

# 绘制色系
plt.imshow([range(10)], cmap=cmap, aspect='auto')
plt.show()

2、创建连续色系

import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap

# 定义颜色的RGB值
colors = [(0.2, 0.4, 0.6),   # 蓝色
          (0.8, 0.1, 0.3),   # 红色
          (0.5, 0.7, 0.2),
          (0.3,0.5,0.8)]   # 绿色

# 创建颜色映射
cmap = LinearSegmentedColormap.from_list('CustomCmap', colors, N=100)

# 绘制色系
plt.imshow([range(100)], cmap=cmap, aspect='auto')
plt.colorbar()
plt.show()

3、保存这个色系为 json 文件

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap
import json

# 定义颜色的RGB值
colors = [(0.2, 0.4, 0.6),   # 蓝色
          (0.8, 0.1, 0.3),   # 红色
          (0.5, 0.7, 0.2),
          (0.3,0.5,0.8)]   # 绿色

# 创建颜色映射
cmap = LinearSegmentedColormap.from_list('CustomCmap', colors, N=100)

# 保存颜色映射数据到文件
cmap_data = cmap._segmentdata
with open('custom_cmap.json', 'w') as file:
    json.dump(cmap_data, file)

# 在其他程序中加载颜色映射数据并使用
with open('custom_cmap.json', 'r') as file:
    cmap_data = json.load(file)
cmap = LinearSegmentedColormap('custom_cmap', cmap_data)

# 绘制色系
plt.imshow(np.random.rand(10, 10), cmap=cmap)
plt.colorbar()
plt.show()

4、获取色系rgb值

from matplotlib.colors import LinearSegmentedColormap

# 定义颜色的RGB值
colors = [(0.2, 0.4, 0.6),   # 蓝色
          (0.8, 0.1, 0.3),   # 红色
          (0.5, 0.7, 0.2),
          (0.3,0.5,0.8)]   # 绿色

# 创建颜色映射
cmap = LinearSegmentedColormap.from_list('CustomCmap', colors, N=100)

# 获取颜色映射的数据
cmap_data = cmap._segmentdata
print(cmap_data)

5、修改plt内置色系或增加色系

我们找到plt相应的色系文件:

matpltlib的颜色表数据在 _cm.py 文件里(D:\Anaconda3\Lib\site-packages\matplotlib)

打开_cm.py 文件,滑倒最后,我们会看到各色系的名字。

根据该格式,我们创建相应的颜色进行配置即可。

猜你喜欢

转载自blog.csdn.net/qq_45100200/article/details/134714596
plt