我在道路网络等的 matplotlib 中创建了一些 GIS 样式的图,所以我使用 LineCollection 来存储和表示所有的道路和颜色。这工作正常,我根据标准和以下地图为道路着色:
from matplotlib.colors import ListedColormap,BoundaryNorm
from matplotlib.collections import LineCollection
cmap = ListedColormap(['grey','blue','green','yellow','orange','red','black'])
norm = BoundaryNorm([0,0.5,0.75,0.9,0.95,1.0,1.5,100],cmap.N)
roads = LineCollection(road_segments, array=ratios, cmap=cmap, norm=norm)
axes.add_collection(roads)
这很好用,但是我真的很想以与颜色图类似的方式定义线宽 - 每种颜色的范围从 0.5 到 5
有谁知道这样做的聪明方法?