matplotlib - Matplotlib-配色方案
问题描述
我有一个 (256,256) numpy 数组。每个元素的值为 1 或 2 或 3。我想通过以下方式将此数组绘制为图像:`plt.plot(A)' 我想做的是将此配色方案分配给每个元素;1:红色,2:蓝色,3:灰色。
我不知道我该怎么做,有人可以帮助我吗?
谢谢
解决方案
你可以使用plt.imshow()
和一个ListedColormap
. 下面的示例使用黄色而不是灰色来更好地查看不同的颜色(“浅灰色”可能看起来比“灰色”更好)。
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
import numpy as np
from scipy.ndimage import gaussian_filter
fig = plt.figure(figsize=(18, 14))
A = (gaussian_filter(np.random.randn(256, 256), 20) * 200).astype(int) % 3 + 1
cmap = ListedColormap(['crimson', 'dodgerblue', 'yellow'])
plt.imshow(A, origin='lower', cmap=cmap)
cbar = plt.colorbar(ticks=np.linspace(1, 3, 7)[1::2])
cbar.set_ticklabels([1, 2, 3])
plt.show()
推荐阅读
- indexing - 为什么需要引用索引?
- r - 为什么在 geom_boxplot 中使用 'varwidth=TRUE' 时我的箱线图没有正确对齐?
- javascript - 为所有 div 元素操作内容#(使用 role="tabpanel") - style="display: none;" 显示:块;
- r - 如何使用 R 重塑多行以分隔列 - 从长到宽?
- javascript - 如何在 Web 应用程序中使用 nodejs 创建微软团队会议链接
- matplotlib - 绘制长时间段的音频数据属性
- python - 是否有 python 函数可以为 LightGBM 迭代添加进度条?
- angular - 无法绑定到“ngForOf”,因为它不是“ng-container”的已知属性
- file - 为 Ant Jar 构建执行 Bat 文件时出现问题
- apache-flink - Flink 用于无状态处理