怎么用python把excel各地降雨量数据绘制成地图,数据是按经纬度分类表示的,
时间: 2024-09-24 15:07:26 浏览: 66
python数据可视化(excel+py文件 绘制核密度曲线)
在Python中,你可以结合使用pandas库处理Excel数据,geopandas库处理地理空间数据,以及matplotlib或geoplotlib库来进行地图绘制。以下是一个简化的步骤:
1. **导入所需库**:
```python
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
from shapely.geometry import Point
```
2. **加载Excel数据**:
确保Excel文件中有经纬度列(如'longitude'和'latitude'),以及降雨量数据(假设为'results'列):
```python
data = pd.read_excel('rainfall_data.xlsx', usecols=['longitude', 'latitude', 'results'])
```
3. **创建GeoDataFrame**:
将经纬度和降雨量数据转换成点几何类型,并放入GeoDataFrame中:
```python
df = gpd.GeoDataFrame(data, geometry=gpd.points_from_xy(data.longitude, data.latitude), crs={'init': 'epsg:4326'})
```
4. **加载地图底图**:
使用`gpd.datasets.get_crs()`获取世界地图投影:
```python
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
```
5. **绘制地图**:
```python
ax = world.plot(figsize=(10, 8))
df.plot(ax=ax, column='results', cmap='YlGnBu', legend=True)
```
这里`column`指定降雨量列名,`cmap`指定了颜色映射,可以根据需求更改。
6. **显示结果**:
```python
plt.title('Rainfall Amount by Location')
plt.show()
```
阅读全文