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

昆明专业网站设计公司iis v6 新建网站

昆明专业网站设计公司,iis v6 新建网站,温州市建设工程信息网,怎样制作一个购物小程序使用Python绘制青藏高原涡(高原涡)的移动轨迹图。使用Python绘制青藏高原涡移动轨迹图。通过Cartopy库创建中国地图并添加地理特征(海岸线、边界等),利用Matplotlib绘制高原涡移动路径,用颜色渐变表示时间顺…

使用Python绘制青藏高原涡(高原涡)的移动轨迹图。使用Python绘制青藏高原涡移动轨迹图。通过Cartopy库创建中国地图并添加地理特征(海岸线、边界等),利用Matplotlib绘制高原涡移动路径,用颜色渐变表示时间顺序。代码包含地图投影设置(PlateCarree中心经度105°)、青藏高原区域标注、轨迹可视化(线图+散点图)以及图例元素(指北针、比例尺、颜色条)的添加。该方案可直观展示高原涡在中国区域的移动轨迹,为气象研究提供可视化支持。


1. 导入库

import numpy as np import cartopy.crs as ccrs import cartopy.feature as cfeature 
import matplotlib.pyplot as plt import matplotlib.font_manager as fm 
import cartopy.mpl.ticker as cticker
  • numpy:用于数值计算,处理轨迹数据。
  • cartopy:用于地理空间数据的可视化,支持地图投影和地理特征绘制。
  • matplotlib:用于绘制图表。
  • cartopy.mpl.ticker:提供地图坐标轴的格式化工具。

2. 设置中文字体

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei', 'KaiTi', 'SimSun'] plt.rcParams['axes.unicode_minus'] = False
  • 确保图表中显示中文和负号(如“-”符号),避免乱码。

3. 创建中国地图基础函数

def create_china_map(ax, extent=[70, 140, 20, 45], spec=10):"""创建中国区域基础地图"""ax.set_extent(extent, crs=ccrs.PlateCarree())  # 设置地图范围(经度70-140,纬度20-45)ax.add_feature(cfeature.COASTLINE.with_scale('50m'))  # 添加海岸线ax.add_feature(cfeature.BORDERS, linestyle=':')  # 添加国界线ax.add_feature(cfeature.LAKES, alpha=0.5)  # 添加湖泊ax.add_feature(cfeature.OCEAN, alpha=0.2)  # 添加海洋ax.add_feature(cfeature.LAND, alpha=0.1)  # 添加陆地provinces = cfeature.NaturalEarthFeature(...)  # 添加中国省级边界ax.add_feature(provinces)# 设置坐标轴刻度、网格线等
  • set_extent:定义地图显示区域(中国大部分地区)。
  • add_feature:添加地理特征(如海岸线、湖泊、海洋等)。
  • NaturalEarthFeature:使用自然地球数据集绘制中国省级边界。

4. 绘制高原涡轨迹图的函数

def plot_vortex_track(lons, lats):"""绘制高原涡轨迹图并直接显示"""plt.figure(figsize=(14, 10))  # 设置画布大小ax = plt.axes(projection=ccrs.PlateCarree(central_longitude=105))  # 使用PlateCarree投影,中心经度105°create_china_map(ax)  # 调用函数绘制中国地图ax.add_patch(plt.Rectangle((73, 28), 32, 12, ...))  # 用矩形标注青藏高原区域ax.plot(lons, lats, 'b-', linewidth=2.5, ...)  # 绘制轨迹线scatter = ax.scatter(lons, lats, c=np.arange(len(lons)), cmap='viridis', ...)  # 绘制轨迹点plt.colorbar(scatter, ...)  # 添加颜色条plt.title('青藏高原涡移动轨迹', fontsize=16)  # 设置标题ax.text(...)  # 添加指北针、比例尺、标签plt.show()  # 显示图表
  • PlateCarree(central_longitude=105):使用Plate Carree投影(等经纬度投影),中心经度105°(中国中部)。
  • Rectangle:用矩形框标注青藏高原区域(经度73-105,纬度28-40)。
  • plotscatter:分别绘制轨迹线和轨迹点,cmap='viridis'表示颜色渐变。
  • colorbar:颜色条显示轨迹点的顺序。
  • 指北针、比例尺、标签:通过ax.text()添加文本说明。

5. 主程序(示例数据)

if __name__ == '__main__':lons = np.array([...])  # 示例经度数据(高原涡移动路径)lats = np.array([...])  # 示例纬度数据plot_vortex_track(lons, lats)  # 调用函数绘制轨迹图
  • lonslats:表示高原涡移动路径的经度和纬度坐标。
  • plot_vortex_track:调用函数生成图表并直接显示。

6. 代码功能总结

  • 地图绘制:使用Cartopy创建中国地图,并添加地理特征(海岸线、边界等)。
  • 轨迹可视化:用线和点表示高原涡移动路径,颜色渐变表示时间顺序。
  • 图例与标注:添加指北针、比例尺、颜色条和青藏高原区域标注。
# 高原涡轨迹图绘制 - 直接显示模式
import numpy as np
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
import cartopy.mpl.ticker as cticker# 设置中文字体支持
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei', 'KaiTi', 'SimSun']  # 稳定的中文字体
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号def create_china_map(ax, extent=[70, 140, 20, 45], spec=10):"""创建中国区域基础地图"""# 设置地图范围ax.set_extent(extent, crs=ccrs.PlateCarree())# 添加基础地理特征ax.add_feature(cfeature.COASTLINE.with_scale('50m'))ax.add_feature(cfeature.BORDERS, linestyle=':')ax.add_feature(cfeature.LAKES, alpha=0.5)ax.add_feature(cfeature.OCEAN, alpha=0.2)ax.add_feature(cfeature.LAND, alpha=0.1)# 添加中国省级边界provinces = cfeature.NaturalEarthFeature(category='cultural',name='admin_1_states_provinces',scale='50m',facecolor='none',edgecolor='gray',linewidth=0.5)ax.add_feature(provinces)# 设置坐标轴ax.set_xticks(np.arange(extent[0], extent[1] + spec, spec), crs=ccrs.PlateCarree())ax.set_yticks(np.arange(extent[2], extent[3] + spec, spec), crs=ccrs.PlateCarree())lon_formatter = cticker.LongitudeFormatter()lat_formatter = cticker.LatitudeFormatter()ax.xaxis.set_major_formatter(lon_formatter)ax.yaxis.set_major_formatter(lat_formatter)ax.gridlines(linewidth=0.5, color='gray', alpha=0.5, linestyle='--')def plot_vortex_track(lons, lats):"""绘制高原涡轨迹图并直接显示"""# 创建画布plt.figure(figsize=(14, 10))ax = plt.axes(projection=ccrs.PlateCarree(central_longitude=105))# 创建地图create_china_map(ax)# 标记青藏高原区域ax.add_patch(plt.Rectangle((73, 28), 32, 12,linewidth=1.5, edgecolor='darkred',facecolor='lightyellow', alpha=0.4,transform=ccrs.PlateCarree()))# 绘制轨迹线ax.plot(lons, lats, 'b-', linewidth=2.5, transform=ccrs.PlateCarree())# 标记点scatter = ax.scatter(lons, lats, c=np.arange(len(lons)),cmap='viridis', s=50, edgecolor='black',transform=ccrs.PlateCarree())# 添加颜色条cbar = plt.colorbar(scatter, ax=ax, orientation='horizontal',pad=0.05, label='轨迹点顺序')# 设置中文标题plt.title('高原涡或台风移动轨迹', fontsize=16, pad=20)# 添加指北针ax.text(0.95, 0.95, 'N', transform=ax.transAxes,fontsize=16, va='top', ha='right',bbox=dict(boxstyle='circle', facecolor='white', alpha=0.8))# 添加比例尺ax.text(0.2, 0.05, '1000公里', transform=ax.transAxes,bbox=dict(facecolor='white', alpha=0.8))# 添加青藏高原标签ax.text(88, 34, '青藏高原区域', fontsize=12,transform=ccrs.PlateCarree(),bbox=dict(facecolor='white', alpha=0.6))# 直接显示图像plt.show()if __name__ == '__main__':# 高原涡轨迹数据lons = np.array([89.05, 96.47, 99.89, 100.08, 102.05, 105.01, 107.49, 108.66,110.91, 111.46, 113.93, 114.00, 120.00, 121.97, 122.02, 122.97,123.49, 124.05, 122.99])lats = np.array([36.02, 34.99, 34.98, 34.56, 35.00, 34.99, 35.02, 36.66,35.56, 36.42, 36.00, 35.90, 36.00, 37.00, 38.00, 39.00,40.00, 42.00, 42.99])# 绘制并显示轨迹图plot_vortex_track(lons, lats)

http://www.dtcms.com/a/496378.html

相关文章:

  • 北理工网站开发与运用营销型网站建设深圳
  • MVVMLight
  • 网站在服务器wordpress执行生命周期
  • 南昌做网站哪家公司比较好怎么设置wordpress底栏文字
  • 成都住房和城乡建设局 网站甘肃省建设银行网站
  • 《自动控制原理》第 2 章 线性控制系统的数学描述:2.3、2.4
  • C++ try-catch 异常处理机制详解
  • 各大网站搜索引擎wordpress 公告
  • 网站会员体系方案全国最新网站备案查询
  • 快手one系列核心合集随笔 (随着系列推出更新)
  • 自己做的网页怎么上传到网站吗wordpress 图片 主题
  • 【RocketMQ】RocketMQ原生 API 实现的分布式事务完整方案
  • 江苏省住房和城乡建设局网站首页网站图片文字排版错误
  • 做网站自动赚钱十堰seo优化教程
  • AUTOSAR图解==>AUTOSAR_AP_TR_SystemTests
  • 手机网站转微信小程序网上商城运营推广思路
  • 乡村振兴 统筹发展PPT(63页)
  • 沈阳网站选禾钻科技有哪些网页设计软件
  • instanceof和类型转换
  • MySQL 企业版数据脱敏与去标识化
  • 物流信息网站wordpress下载样式
  • 网站建设与维护要用到代码吗网站实用性
  • 常州住房和城乡建设部网站北京建设集团网站
  • 正规的GEO优化师培训哪家好
  • 建设银行甘肃省行网站wordpress请求接口的方式
  • 怎么开网站做网红淮安网站建设公司
  • 昌平建设网站徐州seo推广优化
  • 国内旅行做行程网站网站建设公司怎么谈单
  • vscode制作个人网站做爰片免费观看网站
  • 教育网站 网页赏析找公司做网站要注意什么问题