python-nc文件的处理和画图

(1)

(2)

import numpy as np
import matplotlib.pyplot as plt
from netCDF4 import Dataset

# 读取 NetCDF 文件
nc_file = "surface_LHSH_monthlymeans.nc"
nc_data = Dataset(nc_file, "r")

# 获取经度和纬度数据
lons = nc_data.variables["longitude"][:]
lats = nc_data.variables["latitude"][:]

# 获取感热和潜热通量数据
slhf_data = nc_data.variables["slhf"][:]
sshf_data = nc_data.variables["sshf"][:]

# 成都的经纬度
chengdu_lon, chengdu_lat = 104.0657, 30.6595

# 计算每个格点到成都的距离
lon_grid, lat_grid = np.meshgrid(lons, lats)
distance = np.sqrt((lon_grid - chengdu_lon)**2 + (lat_grid - chengdu_lat)**2)

# 筛选出500km范围内的格点
within_range = distance <= 500

# 初始化用于存储区域平均值的数组
slhf_mean = []
sshf_mean = []

# 选择每隔一定时间步长取样数据
time_step_interval = 12  # 每隔12个时间步长取样一次
for i in range(0, slhf_data.shape[0], time_step_interval):
    slhf_mean.append(np.mean(slhf_data[i][within_range]))
    sshf_mean.append(np.mean(sshf_data[i][within_range]))

# 绘制折线图
plt.plot(slhf_mean, label="Sensible Heat Flux")
plt.plot(sshf_mean, label="Latent Heat Flux")
plt.xlabel("Time Step")
plt.ylabel("Flux (W/m^2)")
plt.title("Regional Mean Heat Flux plotted by 202183 chengdu")
plt.legend()

# 保存图片
plt.savefig("2300xxxPlot4_python-2.png")

# 显示图形
plt.show()

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值