0

我有以下代码用于GeoPandas可视化形状文件上的列

cols = ['UrbanPop','Murder','Assault','Rape']

for i in cols:
  fig, ax = plt.subplots(figsize=(12,12))
  
  merged.plot(column=i,
            ax=ax,
            legend=True,
            legend_kwds={'label': i,
                         'orientation': "horizontal"})
  plt.axis("off")

这正是我想要的,除了颜色条远离它们各自的形状文件这一事实。是否有一个参数可以让我控制它?我想它可能是pad某种形式,但我无法让它工作。

GeoPandas 文档说这legend_kwds()是“传递给 matplotlib.pyplot.legend() 或 matplotlib.pyplot.colorbar() 的关键字参数”但是,在检查这两个文档时,我似乎仍然无法弄清楚。我一直对这些x_kwds参数的参数有疑问,我似乎无法在一个地方找到它们的列表。在seaborn中scatter_kws也是line_kws如此。

在此处输入图像描述

4

1 回答 1

2

你的是什么版本的geopandas?对于0.8.1,您可以简单地将padarg传入legend_kwds.

import geopandas as gpd
import matplotlib.pyplot as plt

gdf = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))

fig, ax = plt.subplots(figsize=(15, 5))
legend_kwds = dict(orientation='horizontal', label='Murder', pad=-0.5)
gdf.plot(column='gdp_md_est', legend=True, legend_kwds=legend_kwds, ax=ax)

您可以在此处查看 matplotlib 文档

在此处输入图像描述

于 2020-09-07T23:26:22.263 回答