固定颜色映射到值

2024-05-04 02:45:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在matplotlib中绘制了一幅随时间变化的数据图——图表中的一个功能是根据32.5到50的值绘制一个气泡颜色。 为了清楚起见,我对其进行了规范化,使值在[0,1]范围内

norm = matplotlib.colors.Normalize(32.5, 50)
colors = [[norm(32.5), "red"],
          [norm(40), "salmon"],
          [norm(42.5), "yellow"],
          [norm(45), "limegreen"],
          [norm(47.5), "green"],
          [norm(50), "darkgreen"]]

my_cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", colors)

dix_array = np.array(df_sel['DIX 10MA'])
normalized_dix = (dix_array - min(dix_array)) / (max(dix_array) - min(dix_array))

我遇到的问题是气泡颜色会根据我选择的时间范围而变化-颜色映射不会直接指定给值,但它会根据图表上选择的值进行相对映射。有没有办法保持像eg值45这样的东西无论我选择多长时间都是灰白色的

fig, axes = plt.subplots(ncols=10, nrows=8, figsize=(16, 9))
.
.
axbig1.scatter(number_index, df_sel["SPYClose"], s=normalized_gex*500, c=normalized_dix, cmap=my_cmap)

谢谢


Tags: normdfmatplotlib颜色my图表时间绘制