【发布时间】:2020-06-15 19:40:57
【问题描述】:
这个问题的灵感来自pheatmap in R 中的中断。问题是我是否可以在 seaborn 的热图中定义我的着色和分箱有多“粗糙”、连续/离散程度。我找到了一种使用 cmap 和使用的颜色数量(例如Discrete legend in seaborn heatmap plot)的方法。但是,我不知道这些颜色组的分配是如何完成的。
所以问题是,如果我使用 cmap 并强制 seaborn 仅使用一组离散的 colours=bins,数据如何分箱?如何手动设置?例如。在 R 的情况下,我可以将间隔设置为 0 到 800,步长为 100,并将其传递给“breaks”参数。
breaksList = seq(0, 800, by = 100)
如果我的比例是线性的,那么使用 cmap 和颜色数量非常简单,但如果我想让我的 bins=colorbar 对数或只是不等间距,我该怎么做?
举个具体的例子,我举个航班数据集的例子。左边是原始的默认图,右边,我选择 5 种颜色有 5 个 bin。那么这些箱子的边缘是如何定义的呢?我可以重置它们以便我拥有例如。箱子 0-200、200-300、300-400、400-600、600 以上? (我故意使用不相等的 bin 来表达我的意思。)
# choose 5 colours to create 5 bins
cmap = sns.color_palette('rocket', n_colors=5)
# run this without the cmap argument to get the first image
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
ax = sns.heatmap(flights, cmap = cmap)
谢谢。
【问题讨论】: