在R区,我可以像这样移动阿拉斯加和夏威夷: https://www.storybench.org/how-to-shift-alaska-and-hawaii-below-the-lower-48-for-your-interactive-choropleth-map/
我可以用cartopy这样做: Showing Alaska and Hawaii in Cartopy map
如何使用GeoPanda执行类似操作
这是我所拥有的
import requests
import geopandas
import numpy as np
np.random.seed(5)
URL = 'https://github.com/kjhealy/us-county/raw/master/data/geojson/gz_2010_us_040_00_500k.json'
us_json = requests.get(URL).json()
# save to disk as fname then load from file
usa = geopandas.read_file(fname)
usa["value"] = np.random.uniform(low=0,high=100, size=52)
usa.sort_values("NAME", inplace=True)
usa
现在绘制它:
usa.plot(column='value', cmap='Reds', scheme='quantiles', k=7, legend=True)
仅限内地:
not_mainland = ['Alaska', 'Hawaii', "Puerto Rico"]
mainland_usa = usa.query('NAME not in @not_mainland')
mainland_usa.sort_values("NAME")
mainland_usa.plot(column='value', cmap='Reds', scheme='quantiles', k=7, legend=True)
我应该如何为阿拉斯加和夏威夷添加子地块
对于相邻的状态,使用
geoDataFrame.plot()
是照常进行的。但阿拉斯加和夏威夷必须作为插图单独绘制。在下面完整且可运行的代码中,有许多插入的注释解释了帮助读者的重要步骤。关于主题数据,我更喜欢使用更现实的人口数据(而不是问题中的构成数据)来展示地块上的主题地图。数据包mapclassify
用于对数据进行分类,以便进行适当的专题数据处理数据分类:
在上面的代码中,
sclass
包含人口密度的分类详细信息。要获取类列表,请运行以下代码:你应该得到下面的结果,并附上上面的地图
额外色条操作
可以操纵颜色栏将标签文本从简单的类别号0,1,2,…6更改为分类值范围。只需在上面代码的
plt.show()
行之前插入这些代码行,然后重新运行新绘图将如下所示:
相关问题 更多 >
编程相关推荐