相关疑难解决方法(0)

Python:如何用加拿大的shapefile创建一个等值区域图?

我的目标是在Python中创建加拿大的等值线图.假设我有一个字典,其中的值指的是每个加拿大省/地区:

myvalues={'Alberta': 1.0,
 'British Columbia': 2.0,
 'Manitoba': 3.0,
 'New Brunswick': 4.0,
 'Newfoundland and Labrador': 5.0,
 'Northwest Territories': 6.0,
 'Nova Scotia': 7.0,
 'Nunavut': 8.0,
 'Ontario': 9.0,
 'Prince Edward Island': 10.0,
 'Quebec': 11.0,
 'Saskatchewan': 12.0,
 'Yukon': 13.0}
Run Code Online (Sandbox Code Playgroud)

现在我想myvalues使用连续的色彩图(例如,红色阴影)基于相应的值为每个省着色.怎么做?

到目前为止,我只能在matplotlib中绘制加拿大各省/地区,但它们的形状呈现出独特的颜色,我不知道如何根据数字改变它myvalues(也许我需要玩,patches但我不知道怎么样).

您可以在这里找到shapefile:http://www.filedropper.com/canadm1_1

这是我迄今为止的代码:

import shapefile
import matplotlib.pyplot as plt
import matplotlib.patches as patches
from matplotlib.patches import Polygon
from matplotlib.collections import PatchCollection
#   -- input --
sf = shapefile.Reader("myfolder\CAN_adm1.shp")
recs    = sf.records()
shapes …
Run Code Online (Sandbox Code Playgroud)

python patch matplotlib shapefile choropleth

15
推荐指数
1
解决办法
6521
查看次数

标签 统计

choropleth ×1

matplotlib ×1

patch ×1

python ×1

shapefile ×1