我正在使用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吗?