Questions tagged «matplotlib»

4
使用Python对shapefile进行简单的主题映射?
我希望在不使用ArcGIS / ArcPy的情况下使用Python可视化地理数据并制作地图。 在互联网上,我发现了如何使用Python制作专题图: 这是我尝试过的一些代码: import shpUtils import matplotlib.pyplot as plt shpRecords = shpUtils.loadShapefile('C:\\Users\\shapefile.shp') for i in range(0,len(shpRecords)): x = [] y = [] for j in range(0,len(shpRecords[i]['shp_data']['parts'][0]['points'])): tempx = float(shpRecords[i]['shp_data']['parts'][0]['points'][j]['x']) tempy = float(shpRecords[i]['shp_data']['parts'][0]['points'][j]['y']) x.append(tempx) y.append(tempy) plt.fill(x,y) plt.axis('equal') plt.title("Testing") plt.show() 但是,当我运行它时,它会给我随机的颜色。 如果我想可视化shapefile的某一列,如何使用类似的代码实现呢? 在上面提供的链接中,这很不清楚,他只讨论颜色的使用... 我是否可能需要其他模块来完成此任务,例如笛卡尔和PySAL?

6
使用matplotlib绘制shapefile
我正在尝试读取shapefile并使用matplotlib对其进行绘制。这是代码: import matplotlib.pyplot as plt import shapefile shpFilePath = "D:\test.shp" listx=[] listy=[] test = shapefile.Reader(shpFilePath) for sr in test.shapeRecords(): for xNew,yNew in sr.shape.points: listx.append(xNew) listy.append(yNew) plt.plot(listx,listy) plt.show() 但是,我得到了连接多边形的线。如何绘制多边形,使它们成为shapefile中的方式。这是使用ArcGIS打开时的图和shapefile的屏幕截图。

1
使用GeoPandas更改绘图中的标记大小
我有一个带有点和一些关联数据的地理数据框。我想使用geopandas将其绘制在地图上,并使点的大小与geodataframe中的列之一相对应。 到目前为止,我有以下代码: base = world.plot(color='white', figsize=(20,10)) geo_df.plot(ax=base, marker='.', color='red', markersize = geo_df['Pop_2005']) plt.xlim([-85, -60]) plt.ylim([-5, 12.5]); 但我收到以下错误: TypeError: cannot convert the series to <class 'float'> 有任何想法吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.