python绘制包含广西海南的地图
时间: 2024-12-14 19:27:07 浏览: 9
在Python中,你可以使用matplotlib库来绘制地图,结合geopandas和basemap等工具,可以方便地添加省份边界。如果你想要绘制包含广西和海南的地图,首先需要安装必要的库,例如geopandas、matplotlib和cartopy。
以下是大致步骤:
1. **安装所需库**:
```bash
pip install geopandas matplotlib cartopy basemap
```
2. **加载数据**:
使用`geopandas.read_file()`从地理空间数据库获取中国省级行政区的数据,例如ESRI Shapefile或GeoJSON文件:
```python
import geopandas as gpd
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
```
3. **选择广西和海南数据**:
筛选出广西和海南的数据:
```python
provinces = world[(world.name == '广西壮族自治区') | (world.name == '海南省')]
```
4. **设置地图投影**:
如果你想显示全国范围的地图,通常会使用WGS84坐标系统;如果只关注局部区域,可以考虑其他适合的地图投影:
```python
projection = 'aea' # Albers Equal Area
```
5. **绘制地图**:
```python
fig, ax = plt.subplots(figsize=(10, 6))
provinces.plot(ax=ax, color='white', edgecolor='black')
ax.set_title('广西和海南地图')
```
6. **添加图例**:
如果需要,可以添加图例表示自治区或省份:
完整的代码示例:
```python
import geopandas as gpd
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
# ... (按照上述步骤安装并导入所需的库)
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
provinces = world[(world.name == '广西壮族自治区') | (world.name == '海南省')]
projection = ccrs.AlbersEqualArea()
fig, ax = plt.subplots(figsize=(10, 6), subplot_kw={'projection': projection})
provinces.plot(ax=ax, color='white', edgecolor='black')
ax.set_title('广西和海南地图')
ax.coastlines(resolution='10m') # 显示海岸线
plt.show()
阅读全文