python使用plt将代表全球的1°×1°excel数据画成格网图,并添加刻度以及格网线
时间: 2024-02-21 18:57:34 浏览: 83
你可以使用Matplotlib中的pyplot模块来创建带有刻度和格网线的格网图。下面是一个简单的例子:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 获取经度、纬度和数值的列表
lons = data['lon'].values
lats = data['lat'].values
values = data['value'].values
# 创建一个子图
fig, ax = plt.subplots()
# 绘制等值线图
levels = np.arange(0, 25, 5)
cs = ax.tricontourf(lons, lats, values, levels=levels, cmap='jet')
# 添加刻度
cbar = fig.colorbar(cs, ax=ax, orientation='vertical', shrink=0.5)
cbar.ax.set_ylabel('Value')
# 添加格网线
ax.set_xticks(np.arange(-180, 181, 30))
ax.set_yticks(np.arange(-90, 91, 30))
ax.xaxis.grid(True, linestyle='-', color='gray', alpha=0.5)
ax.yaxis.grid(True, linestyle='-', color='gray', alpha=0.5)
# 显示图形
plt.show()
```
在这个例子中,我们使用`tricontourf()`方法绘制等值线图,使用`colorbar()`方法添加刻度,使用`set_xticks()`和`set_yticks()`方法设置刻度值,使用`xaxis.grid()`和`yaxis.grid()`方法添加格网线。
阅读全文