2012-11-07 2 views
0

도로 네트워크 등의 matplotlib에 일부 GIS 스타일 플롯을 작성하므로 LineCollection을 사용하여 모든 도로와 색상을 저장하고 표현합니다. - 0.5에 이르기까지이 잘 작동matplotlib 컬렉션 선폭 매핑?

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) 

,하지만 난 정말 컬러지도와 유사한 방식으로 정의 선폭을 가지고 싶다 : 잘 작동이, 내가 기준에 따라 도로와 다음지도 색상 각 색상에 대해 5까지

누구든지 이것을하는 영리한 방법을 알고 있습니까?

답변

0

linewidths 키워드입니다.

import matplotlib.pyplot as plt 
from matplotlib.collections import LineCollection 

axes = plt.axes() 

roads = LineCollection([ 
         [[0, 0], [1, 1]], 
         [[0, 1], [1, 0]] 
         ], 
         colors=['black', 'red'], 
         linewidths=[3, 8], 
         ) 
axes.add_collection(roads) 

plt.show() 

HTH