当前位置: 首页 > 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/14504845/

相关文章:

  • 兰州启点网站建设做相册的网站dw
  • 湛江网站网站建设上海外贸公司27号
  • 公司网站开源源码网站建设续费是什么费用
  • 淘宝网站c 设计怎么做的码支付wordpress前端
  • 义乌网站建设费用多少php网站开发设计论文
  • 新安网站建设潍坊外贸网站优化
  • 湖北智能网站建设找哪家美丽乡村 网站建设
  • 哪个公司的网站制作asp做网站的步骤
  • 网站模板建设报价深圳画册设计推荐
  • 做耳标网站faq插件 wordpress
  • 网站设计开发新乡网站建设加盟电话
  • 如何建立一个学校网站网站建设优化广告流量
  • 网站免费源码大全不用下载新网站如何做百度关键词
  • 网站建设公告jsp网站开发学习心得
  • 西安网站建立网站如何做网站名称
  • 网站规划与网页设计总结福建漳发建设有限公司网站
  • 网站域名怎样注销soso搜索引擎
  • c 网站开发的书籍dw做网站如何让背景变得透明
  • 徐州网站关键词排名企业网站空间备案吗
  • 在网站上做承诺装饰网站设计模板下载
  • 企业网站建设基本流程东营新闻联播在线直播
  • 做面条的网站电商推广平台
  • php企业中英文网站源码wordpress摘要图片
  • 网站建设服务商是什么设计网站多少钱
  • wordpress主题著作权网站内容优化怎么去优化呢
  • 亚马逊跨境电商运营seo优化器
  • 虚拟主机网站模板wordpress调用标签工具
  • 网站开发主要工作内容seo诊断报告示例
  • 最好的装饰公司营销型网站网络营销的特点与方法有哪些
  • 红酒网站页面设计总结seo外链工具源码