当前位置: 首页 > news >正文

网站总体设计方案网站管理系统排行榜

网站总体设计方案,网站管理系统排行榜,买域名建网站,沙坪坝网站建设python绘制年平均海表温度、盐度、ph图 文章目录 python绘制年平均海表温度、盐度、ph分布图前言一、数据准备二、代码编写2.1. python绘制年平均海表温度#xff08;主要#xff09;2.2. python绘制年平均海表盐度#xff08;选看#xff09;2.3. python绘制年平均海表ph主要2.2. python绘制年平均海表盐度选看2.3. python绘制年平均海表ph选看 总结 python绘制年平均海表温度、盐度、ph分布图 所属目录紫菜创建时间2025/2/18更新时间2025/2/19URLhttps://blog.csdn.net/2301_78630677/article/details/145716784 前言 本文主要使用python绘制年平均海表温度、盐度、ph分布图所用数据来源于Bio-ORACLE 参考文章 Python绘制海表温度 【python海洋专题十二】年平均的南海海表面温度图 所用到的中国地图shp文件 链接https://pan.baidu.com/s/1q9hitI11CCYDWvBTWbAevg 提取码9ju8 一、数据准备 在Bio-ORACLE官网 下载所需的 2010-2020平均海表Ocean temperature、Salinity、pH数据 点击前往下载地址 下载下来的环境数据为.nc文件也就是NetCDF格式。 ‌NetCDFNetwork Common Data Form格式是一种用于存储和共享科学数据的标准格式广泛应用于气象学、海洋学、地球科学等领域‌。.nc文件是NetCDF文件的扩展名主要用于存储大型科学和工程数据集。 .nc文件的基本结构和特点 ‌自描述性‌.nc文件包含关于数据集的元数据这些元数据描述了数据集的结构和内容使得用户无需其他文档即可理解数据。 ‌可移植性‌.nc文件是二进制格式能够在不同的平台上无缝迁移和使用。 ‌多维数组结构‌.nc文件通常包含多个维度如时间、经度和纬度适用于存储复杂的多维数据集。 补充 所用的Bio-ORACLE环境数据合集有需要就下载吧 Bio-ORACLE数据分享[decade 2010-2020] [Surface layers] 二、代码编写 接下来主要讲述 python绘制年平均海表温度的代码另外两个类似只需要稍加修改 2.1. python绘制年平均海表温度主要 该代码用于绘制中国周边海域的海表温度SST分布图并添加了省份边界、等温线和网格线等细节最后保存pdf文件 import xarray as xr import matplotlib.pyplot as plt import cartopy.crs as ccrs import cartopy.feature as cfeature from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter # 导入经纬度格式器 import numpy as np from cartopy.io.shapereader import Reader from cartopy.feature import ShapelyFeature # 加载NetCDF格式的SST数据替换为你的SST数据文件路径 ds xr.open_dataset(rD:\oceandata\Bio-ORACLE\Temperature [mean].nc) # 假设你的SST数据在该文件中 print(ds.variables) #打印SST数据的所有变量名及其相关信息通过查看这些信息你可以确定要使用哪个变量进行绘图和分析# 选择SST变量替换为你的SST变量名 sst ds[thetao_mean]# 计算时间轴上的平均值如果时间是一个维度 sst_mean sst.mean(dimtime) # 假设time是时间维度 # 创建一个地图并设置投影 fig plt.figure(figsize(10, 5)) ax fig.add_subplot(1, 1, 1, projectionccrs.PlateCarree()) # 添加陆地和海洋特征 ax.add_feature(cfeature.LAND, colorlightgray) ax.add_feature(cfeature.OCEAN, colorw, edgecolorlightgray) ax.coastlines(colorblack) # 添加省份边界 shapefile rC:\Users\www\Desktop\china_map\china_SHP\省界_Project.shp # 替换为你的Shapefile文件路径 china_provinces ShapelyFeature(Reader(shapefile).geometries(), ccrs.PlateCarree(), edgecolorblack, facecolornone) ax.add_feature(china_provinces)# 绘制SST平均值数据 sst_plot sst_mean.plot.contourf(axax, transformccrs.PlateCarree(), cmapcoolwarm, levels25, extendboth, add_colorbarFalse,vmin5, vmax30) # levels参数可以调整等值线的数量 具体来说levels25 表示将数据范围分成25个间隔并绘制出相应的等值线。这些等值线将数据集的值范围在此例中是5到30°C平均分成25个部分每个部分的上限和下限定义了一条等值线。# 添加颜色条 cbar fig.colorbar(sst_plot, drawedgesTrue, axax, locationright, shrink0.95, pad0.08, spacinguniform, labelAverage Sea Surface Temperature (°C)) cbar.ax.tick_params(labelsize10) # 设置色标尺标签大小 # 设置颜色条的刻度标签 cbar.set_ticks(np.arange(5, 31, 5))# 添加等温线 sst_contour sst_mean.plot.contour(axax, transformccrs.PlateCarree(), colorsgray, levels130,linewidths0.5) # levels参数可以调整等温线的数量 # 为等值线添加标签 plt.clabel(sst_contour, inlineTrue, fontsize10, fmt%1.1f) # 设置地图的经纬度范围可选 ax.set_extent([110, 135, 20, 40], crsccrs.PlateCarree()) # 添加网格线 gl ax.gridlines(crsccrs.PlateCarree(), draw_labelsTrue, xlocsnp.arange(110, 135, 5), ylocsnp.arange(20, 40, 5),linewidth0.5, linestyle--, colork, alpha0.8) # 添加网格线 gl.xlabels_top False gl.ylabels_right False gl.xformatter LongitudeFormatter() # 使用默认的经度格式器 gl.yformatter LatitudeFormatter() # 使用默认的纬度格式器 gl.xlabel_style {size: 10, color: black} gl.ylabel_style {size: 10, color: black} print(Map created successfully!) # 保存地图为PDF文件 plt.savefig(scs_sst_1.pdf, dpi600, bbox_inchestight, pad_inches0.1) # 显示地图 plt.show() 代码大概包括以下流程 加载数据读取 NetCDF 文件并提取 SST 变量。数据处理对时间维度取平均。创建地图设置投影、添加陆地和海洋特征、绘制省份边界。绘制 SST 数据绘制填充等温线和等温线添加颜色条和标签。设置地图范围与网格线调整地图范围添加网格线并格式化标签。保存与显示保存地图为 PDF 文件并显示。 print(ds.variables) #打印SST数据的所有变量名及其相关信息通过查看这些信息你可以确定要使用哪个变量进行绘图和分析 例如该SST数据包括四个变量time、latitude、longitude、thetao_mean 其中thetao_mean就是SST变量名。 结果显示 2.2. python绘制年平均海表盐度选看 以下代码与年平均海表温度的代码类似一些注释信息就没改过来了知道意思即可 import xarray as xr import matplotlib.pyplot as plt import cartopy.crs as ccrs import cartopy.feature as cfeature from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter # 导入经纬度格式器 import numpy as np from cartopy.io.shapereader import Reader from cartopy.feature import ShapelyFeature # 加载NetCDF格式的SST数据替换为你的数据文件路径 ds xr.open_dataset(rD:\oceandata\so_baseline_2000_2019_depthsurf_49ed_5fc4_602c_U1739344920620_yandu.nc) # 假设你的SST数据在该文件中 print(ds.variables) # 选择SST变量替换为你的SST变量名 sst ds[so_mean]# 计算时间轴上的平均值如果时间是一个维度 sst_mean sst.mean(dimtime) # 假设time是时间维度 # 创建一个地图并设置投影 fig plt.figure(figsize(10, 5)) ax fig.add_subplot(1, 1, 1, projectionccrs.PlateCarree()) # 添加陆地和海洋特征 ax.add_feature(cfeature.LAND, colorlightgray) ax.add_feature(cfeature.OCEAN, colorw, edgecolorlightgray) ax.coastlines(colorblack) # 添加省份边界 shapefile rC:\Users\www\Desktop\a5bc0-main\china_SHP\省界_Project.shp # 替换为你的Shapefile文件路径 china_provinces ShapelyFeature(Reader(shapefile).geometries(), ccrs.PlateCarree(), edgecolorblack, facecolornone) ax.add_feature(china_provinces)# 绘制SST平均值数据 sst_plot sst_mean.plot.contourf(axax, transformccrs.PlateCarree(), cmapcoolwarm, levels15, extendboth, add_colorbarFalse,vmin20, vmax35) # levels参数可以调整等温线的数量 # 添加颜色条 cbar fig.colorbar(sst_plot, drawedgesTrue, axax, locationright, shrink0.95, pad0.08, spacinguniform, labelAverage Sea Surface Salinity (psu)) cbar.ax.tick_params(labelsize10) # 设置色标尺标签大小 # 设置颜色条的刻度标签 cbar.set_ticks(np.arange(20, 36, 3))# 添加等温线 sst_contour sst_mean.plot.contour(axax, transformccrs.PlateCarree(), colorsgray, levels50,linewidths0.5) # 为等值线添加标签 plt.clabel(sst_contour, inlineTrue, fontsize10, fmt%1.1f) # 设置地图的经纬度范围可选 ax.set_extent([110, 135, 20, 40], crsccrs.PlateCarree()) # 添加网格线 gl ax.gridlines(crsccrs.PlateCarree(), draw_labelsTrue, xlocsnp.arange(110, 135, 5), ylocsnp.arange(20, 40, 5),linewidth0.5, linestyle--, colork, alpha0.8) # 添加网格线 gl.xlabels_top False gl.ylabels_right False gl.xformatter LongitudeFormatter() # 使用默认的经度格式器 gl.yformatter LatitudeFormatter() # 使用默认的纬度格式器 gl.xlabel_style {size: 10, color: black} gl.ylabel_style {size: 10, color: black} print(Map created successfully!)# 保存地图为PDF文件 plt.savefig(scs_yandu_1.pdf, dpi600, bbox_inchestight, pad_inches0.1) # 显示地图 plt.show()2.3. python绘制年平均海表ph选看 以下代码与年平均海表温度的代码类似只不过因为ph的值较小我们可以先计算一下数据中的最大值与最小值方便确定ph大小 import xarray as xr import matplotlib.pyplot as plt import cartopy.crs as ccrs import cartopy.feature as cfeature from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter # 导入经纬度格式器 import numpy as np from cartopy.io.shapereader import Reader from cartopy.feature import ShapelyFeature # 加载NetCDF格式的SST数据替换为你的SST数据文件路径 ds xr.open_dataset(rD:\oceandata\ph_baseline_2000_2018_depthsurf_f606_6dc8_6180_U1739344995788_ph.nc) # 假设你的SST数据在sst.nc文件中 # 选择pH变量替换为你的pH变量名 ph ds[ph_mean]# 计算pH数据的最高和最低值 ph_max ph.max(dim[time, latitude, longitude]) ph_min ph.min(dim[time, latitude, longitude])print(Maximum pH value:, ph_max) print(Minimum pH value:, ph_min)print(ds.variables) # 选择SST变量替换为你的SST变量名 sst ds[ph_mean]# 计算时间轴上的平均值如果时间是一个维度 sst_mean sst.mean(dimtime) # 假设time是时间维度 # 创建一个地图并设置投影 fig plt.figure(figsize(10, 5)) ax fig.add_subplot(1, 1, 1, projectionccrs.PlateCarree()) # 添加陆地和海洋特征 ax.add_feature(cfeature.LAND, colorlightgray) ax.add_feature(cfeature.OCEAN, colorw, edgecolorlightgray) ax.coastlines(colorblack) # 添加省份边界 shapefile rC:\Users\王浩天\Desktop\a5bc0-main\china_SHP\省界_Project.shp # 替换为你的Shapefile文件路径 china_provinces ShapelyFeature(Reader(shapefile).geometries(), ccrs.PlateCarree(), edgecolorblack, facecolornone) ax.add_feature(china_provinces)# 绘制SST平均值数据 sst_plot sst_mean.plot.contourf(axax, transformccrs.PlateCarree(), cmapcoolwarm, levels15, extendboth, add_colorbarFalse,vmin8, vmax8.2) # levels参数可以调整等温线的数量 # 添加颜色条 cbar fig.colorbar(sst_plot, drawedgesTrue, axax, locationright, shrink0.95, pad0.08, spacinguniform, labelAverage Sea Surface pH) cbar.ax.tick_params(labelsize10) # 设置色标尺标签大小 # 设置颜色条的刻度标签 cbar.set_ticks(np.arange(8, 8.25, 0.05))# 添加等温线 sst_contour sst_mean.plot.contour(axax, transformccrs.PlateCarree(), colorsgray, levels200,linewidths0.5) # 为等值线添加标签 plt.clabel(sst_contour, inlineTrue, fontsize10, fmt%1.3f) #保留小数点后三位# 设置地图的经纬度范围可选 ax.set_extent([110, 135, 20, 40], crsccrs.PlateCarree()) # 添加网格线 gl ax.gridlines(crsccrs.PlateCarree(), draw_labelsTrue, xlocsnp.arange(110, 135, 5), ylocsnp.arange(20, 40, 5),linewidth0.5, linestyle--, colork, alpha0.8) # 添加网格线 gl.xlabels_top False gl.ylabels_right False gl.xformatter LongitudeFormatter() # 使用默认的经度格式器 gl.yformatter LatitudeFormatter() # 使用默认的纬度格式器 gl.xlabel_style {size: 10, color: black} gl.ylabel_style {size: 10, color: black} print(Map created successfully!) # 保存地图为PDF文件 plt.savefig(scs_ph_1.pdf, dpi600, bbox_inchestight, pad_inches0.1) # 显示地图 plt.show() 总结 主要是以绘制年平均海表温度分布图为例其余环境数据也类似。 2025/2/19
http://www.hkea.cn/news/14366394/

相关文章:

  • 黄冈建设局网站微信营销微网站建设
  • 南阳网站建设制作价格域名注册流程及费用
  • 南宁网站建设教学网站建设一般预付比例多少
  • 建设网站查证书百度官方网站
  • wap网站现在还有什么用大连提高网站排名
  • 电脑做系统网站国内特效网站
  • 重庆市城乡建设施工安全管理总站网站常州知名网站公司
  • 电子商务网站的建设与规划书外贸网络营销服务
  • 网站建设购买数据库的流程cms网站开发教程
  • 网站建设的基本步奏记事本做网站
  • 苏州 做网站网络运营者应当制定网络安全事件
  • 可以看qq空间的网站公司交易平台网
  • 电器网站建设规划书seo 网站两个ip
  • 东莞网站建设17wordpress qqlogin
  • wordpress媒体库管理系统微博搜索引擎优化
  • 网站建设项目验收报告书网站设计制作服务好态度好
  • 镇江网站制作价格如何计算四川餐饮培训学校排名
  • 免费软件站wordpress缓存无法清除缓存
  • 58网站一起做网店建立网站和新媒体信息发布制度
  • 网站建设入什么会计科目友情链接代码美化
  • 学会网站 建设seo手机关键词网址
  • 山西太原制作网站人有吗软件开发周期包括哪几个阶段
  • 网站首页设计收费小说网站怎么做推广
  • 企业网站模板免费下载企业网站模板wordpress代码添加文章字段栏目
  • 网站用不用备案谁的网站模板利于优化
  • wap网站排名shopify网站建设
  • 如何开wordpress网站网络营销网站建设存在问题
  • 北京网站营销seo方案怎么为一个网站做外链
  • 网站改版意义广州大型网站制作公司
  • 重庆网站制作设计公司班级优化大师网页版