python - 设置一个常见的合理比例以显示具有单个图例的热图子图
问题描述
我正在使用geoplot
'skdeplot
函数来显示不同时间段的核密度图(又名热图)。
我有一个看起来像这样的代码:
fig, axs = plt.subplots(n_rows, n_cols, figsize=(20,10))
for ax, t in zipped(axs.flatten(), periods):
# df is a GeoPandas dataframe
data = df.loc[(df['period'] == t), ['id', 'geometry']]
# heatmap plot
gplt.kdeplot(
data,
clip=africa.geometry,
cmap='Reds',
shade=True,
cbar=True,
ax=ax)
gplt.polyplot(africa, ax=ax, zorder=1)
ax.set_title(int(t))
它输出以下图像
相反,我希望能够为我的整个数据集(无论时间如何)定义一个通用比例,然后我可以将其kdeplot
用于子图并作为子图的唯一图例。
我知道我的数据在不同年份有不同的密度,但我试图找到一种可以用于每个数据的共同值。
我认为该levels
参数将是我正在寻找的参数(即在我的时期使用相同的密度等比例,例如[0.2,0.4,0.6,0.8,1]
)。
但是,当我结合使用它cbar=True
来显示图例时,每个图例的值都不同于其他图例(以及levels
向量)。
难道我做错了什么?
如果没有,我需要手动设置cbar吗?
解决方案
推荐阅读
- c# - System.ArgumentException:已存在具有相同键的条目 - c# ClentIDMode
- go - Protobuf/Go 不能在数组或切片文字中使用文字 * (type *) 作为类型 *
- java - 当我运行我的 spring 应用程序时,它显示抛出错误
- protractor - 不使用元素选择器获取 ChildElement
- spring - 从 Rest Api 调用 Spring Stomp Websocket 不起作用
- django - 三引号中的 Django 原始 sql 插入查询:Django 将 ajax 请求数据中的空值解释为 None 列
- python - 我想在 colab 中使用 imshow(),但它不起作用
- python-3.x - Concox GT800 / Wetrack800 GPS设备数据解码
- java - 如何填充可变参数构造器取消 applicationContext bean?
- json - 如何以编程方式查找 LUKS 标头的开始和结束字节?