1

我正在使用 Pysal 来可视化地理空间数据。我想在个人(网络)之间绘制段,但我不知道如何绘制我的 LineSegment 形状列表(lc)。那么如何在我的地图中显示这些 LineSegment 呢?(下面是绘图代码)

data_table = ps.pdio.read_files("cartes/departements/DEPARTEMENT.shp")
dt = data_table[data_table.apply(lambda x:x["CODE_DEPT"][0:2] in ["75","92","93","94"],axis=1)]["geometry"]
bbox = [min([i.bbox[0] for i in dt]),min([i.bbox[1] for i in dt]),max([i.bbox[2] for i in dt]),max([i.bbox[3] for i in dt])]
fig = figure(figsize=(15,12))
base = maps.map_poly_shp(dt,bbox=bbox)
base.set_facecolor("#e1e1e1")
base.set_linewidth(0.5)
base.set_edgecolor('black')

pts_r = scatter([i[0] for i in data],[i[0] for i in data],s=10,alpha=0.5)
pts_r.set_color('red')

lc = [LineSegment(i[0],i[1]) for i in lines]

ax = maps.setup_ax([base,pts_i], [bbox,bbox])
fig.add_axes(ax)

谢谢 !

4

1 回答 1

1

解决了

我没有正确使用 pysal 绘图框架。唯一需要的是使用该LineCollection(l,alpha=0.1)方法,然后将其添加到setup_ax.

from pysal.contrib.viz import mapping as maps

data_table = ps.pdio.read_files("cartes/departements/DEPARTEMENT.shp")
dt = data_table[data_table.apply(lambda x:x["CODE_DEPT"][0:2] in ["75","92","93","94"],axis=1)]["geometry"]
bbox = [min([i.bbox[0] for i in dt]),min([i.bbox[1] for i in dt]),max([i.bbox[2] for i in dt]),max([i.bbox[3] for i in dt])]
fig = figure(figsize=(15,12))

base = maps.map_poly_shp(dt,bbox=bbox)
base.set_facecolor("#e1e1e1")
base.set_linewidth(0.5)
base.set_edgecolor('black')

pts_r = scatter([i[0] for i in data],[i[1] for i in data],s=10,alpha=0.5)
pts_r.set_color('red')

lc = maps.LineCollection(lines,alpha=0.1)

ax = maps.setup_ax([base,pts_i,lc], [bbox,bbox,bbox])

fig.add_axes(ax)
于 2016-09-20T11:20:09.507 回答