我在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))
我遇到的问题是,气泡颜色会根据我选择的时间范围而变化-颜色图未直接分配给值,而是根据图表上所选内容的值进行了相对映射。有没有办法让类似的东西保持不变,例如无论我选择多长时间,值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)
谢谢。