以下是一个示例代码,用于根据高度来缩放量化,并根据高度给颜色条上色:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap
# 生成示例高度数据
heights = np.random.randint(0, 100, size=(10, 10))
# 定义颜色映射范围和颜色
min_value = np.min(heights)
max_value = np.max(heights)
cmap_colors = [(0, 0, 1), (0, 1, 0), (1, 0, 0)] # 蓝、绿、红
cmap = LinearSegmentedColormap.from_list('custom_cmap', cmap_colors)
# 缩放量化数据
scaled_heights = (heights - min_value) / (max_value - min_value)
# 绘制颜色条
plt.figure(figsize=(6, 1))
plt.imshow([scaled_heights], cmap=cmap, aspect='auto')
plt.xticks([])
plt.yticks([])
plt.show()
这个示例代码首先生成一个10x10的示例高度数据,然后定义了一个包含蓝、绿、红三种颜色的颜色条。接下来,通过对高度数据进行缩放量化,将高度数据映射到0到1的范围内。最后,使用imshow
函数绘制颜色条,并指定使用定义好的颜色映射。