本节提要:关于子图的一些问题、使用path添加示意框线、Cartopy台风实例本土化
“ Proplot是python画图时常用的库,今天就让我们先来一起认识下它吧!”
我与Cartopy的认识起源于“气象水文科研猫”的这个推文,那时候的我觉得,用代码画地图好酷,arcgis就感觉low爆了。但是一直没有时间学习。前段时间放暑假,磕磕绊绊装完包以后就不想动弹了,折腾环境折腾的我头皮发麻。gdal和cartopy真的是我学python以来装的最麻烦的包。
在前面的教程中,我们已经讲解了常用的二维型数据的可视化方法。但是在日常研究中,由于大气科学属于地学系统,和地球地理信息的结合十分密切,大多数时间,需要在图形中添加地理信息。作为胶水语言,在Python中,目前还在使用的地理可视化库包尚有basemap、cartopy、geopandas等,但由于basemap是基于Python 2,而2已经不再维护,这意味着basemap也要为Python 2陪葬。而geopandas是基于pandas的,属于商务图表利器,但对于气象科研,显得力不从心。现在仅介绍basemap接班者cartopy。
这是我在比较久远之前看到的问题。首先必须明确一点,matplotlib的axes3D这个投影中 ,是不能用add_geometry这个功能来直接将读取到的shp文件添加上去的。add_geometry这个功能是cartopy下的geoaxes才能使用,同理add_feature也不能再3d图中使用。
本文作者:南京信息工程大学,马冠龙 1、Python计算500hPa高度场气候场 import pandas as pd import numpy as np import math import matplotlib.pyplot as plt import cartopy import cartopy.crs as ccrs import cartopy.feature as cfeature import cartopy.mpl.ticker as cticker from pylab import
Cartopy 也是一个 python 地图绘制包,同样能完成很多 Basemap 能实现的功能,而且旨在使数据分析及可视化尽可能简单。 其利用了强大的 PROJ.4,numpy,shapely库,提供了简单直观的绘图接口,可以创建满足出版质量的地图。
平时绘制地图时,经常会将多个图放到同一个 figure 中,而这些图的地图范围通常是相同的,所以可以设置共享 x-y 轴。
在前面推送中我们提到了通过collection功能而在3D地图中添加地图的方法,也短暂提到了栅格与填色两种图形样式的降维方法。但是从matplotlib这两个函数的底层有一定的局限性,比如下面这两张图的侧面填色就无法绘出:
Proplot对matplotlib进行了高度的封装,是一个高级绘图工具,其功能相当强大!而且融和了cartopy、basemap、xarray和pandas。看到这里这应该就是我一直想要的绘图工具了!
等值线是气象上比较常用的一种图形,特别是分析天气形势时,常用的地面气压、位势高度、气温等以等值线展示效果最好;在某些时候,我们还需要对等值线填色图进行进一步的美化。兹分别介绍之。
本节提要:关于等值线的一些操作,解决等值线标签无法正常显示的问题,等值线填色图的阴影操作。
---- Python-basemap-中国南海小地图: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap import cmaps import shapefile from matplotlib.path import Path from matplotlib.patches import PathPatch import os import maskout2 f
0.导言 我们都知道,气候研究的时间跨度一般都较长,基本都在30年以上,这就意味着对应的数据集十分庞大,既不能简单地对数据进行描述,也无法轻易地从数据中提取特征。那么面对如此庞大的数据集,我们如何才能
在前面一节中,我们已经介绍了cartopy的大致用法——全球地图的绘制、范围的设定以及更改地理信息的精度。但是,有时候这并不能满足我们的需求,比如我作为某地级市的预报员,绘制该市降水图时,为使图片整洁,一般不希望多出其他市县。还有进行地区级别的研究,比如青藏高原地理区划将包含尼泊尔与不丹,cartopy的基础地理信息添加暂时无法做到,但是该库包已经准备了额外的接口以满足这种需求,并且比NCL更加灵活。
在我们绘制有色阶的图片时,多会用到colorbar这个关联利器,色条可以直接将数值与颜色连接在一起。常用的scatter、contourf是非常适合使用的。第一节我们来简要谈谈常用的colorbar参数,以后例子都基于contourf命令。
地图是表达国家版图最常用、最主要的形式。但在影视剧《亲爱的,热爱的》中出现了明显的错误,从上至下引起了极大的关注度。
虽然 cartopy 下的 Plate Carrée 投影使用方便,但中纬度下使用 Lambert 投影能更好的呈现真实的地图。用一个正圆锥切于或割于球面,将地球面投影到圆锥面上,然后沿一母线展开成平面。下图是使用proplot绘制的最终效果:
交流群里有读友提问:如何在地球投影中添加指定的纬圈。我抽空尝试了一下,分享给大家。
三个问题都是一些历史遗留问题,专门留待这一节来解决。包括画指定的等值线(如588)、如何在一个子图里绘制多个contourf、cartopy的刊误。
地图绘制 大家在绘制栅格地图的时候有可能还在使用ArcGIS进行出图,但是ArcGIS出图比较慢,而且批量出图的时候又比较麻烦。 今天给大家介绍一个Python中用于地图绘制的库,Cartopy,这个库跟basemap非常相似,不过basemap现在已经不再更新。所以大家使用Python绘制地图还是使用Cartopy比较好。 Cartopy简介 Cartopy是一个Python软件包,用于地理空间数据处理,以便生成地图和其他地理空间数据分析。 网址:https://scitools.org.uk/carto
前面的推文对于常用的Python绘图工具都有了一些介绍,在这里就不赘述了。本文主要就以下几个方面:“中国区域绘图”、“包含南海”、“兰伯特投影带经纬度标签”、“基于salem的mask方法”、“进阶中国区域mask方法”、“进阶省份mask方法”。对日常的实用需求能够在一定程度上满足。后续就Python在气象常用的统计方法(显著性检验)、合成分析、多变量叠加绘图再进行推送,敬请期待!
使用cartopy0.17及以下版本进行兰勃脱投影作图,会出现以下的经、纬度标识问题:
气象雷达是专门用于大气探测的雷达。它是一种主动式微波大气遥感设备。 气象雷达是气象观测的重要设备,特别是在突发性、灾害性的监测、预报和警报中具有极为重要的作用,是用于小尺度天气系统(如台风和暴雨云系)的主要探测工具之一。 在国内,我们最常见到和使用的气象雷达,是新一代多普勒天气雷达(CINRAD)。我们在气象局之类建筑楼顶上见到的那些球形建筑,大都属于这一种雷达。这种雷达可以探测反射率因子、多普勒径向速度、谱宽等基本气象要素,从而为短临尺度上的天气预报和预警提供数据支撑。特别是雷达反射率数据,因为其与强对流天气系统直接相关,最常被大家使用。 雷达数据在日常业务科研中的应用非常多,比如雷达数据可以用于数值模式同化中,为数值模式提供一个更加准确的初始场;基于雷达反射率数据的雷达短临预报系统可以预报未来2小时内,雷达探测范围内的强对流天气。例如,眼控科技自主研发的基于深度学习的AI对流临近预报系统就是利用雷达反射率数据,对未来两小时之内强对流天气,进行准确的预报。看了一下,下面的这个预报效果确实很好。
什么是白化?我在一年前也是头一次接触到这个词语,其实就是将你不需要的部分的等值线、等值线填色、风场、流场等挖去。目前气象领域流行的是花式利用地图shp文件进行操作,达到白化的目的。
通常使用一种模型,在该模型中,化合物以原子为节点,键为边的图形表示,通常省略氢。节点存储信息(标签),例如原子类型、电荷、多重性和质量,而边存储键合顺序。每个都可以具有关于芳族和立体异构的信息。至于键序,最好以π电子而不是边缘的形式给出节点,以反映实际的原子轨道和三维结构
科研论文配图多图层元素(字体、坐标轴、图例等)的绘制条件提出了更高要求,我们需要更改 Matplotlib 和 Seaborn 中的多个绘制参数,特别是在绘制含有多个子图的复杂图形时,容易造成绘制代码冗长。
今天直接给大家介绍一下我最近常用的空间绘图神器-Xarray,之所以给大家推荐这个工具包,是因为我最近在空间可视化课程中免费新增的部分内容,其就是使用Xarray工具绘制的。先给大家看一下新增的可视化预览图:
Matplotlib是一个Python中常用的绘图库,用于创建各种类型的图表。在Matplotlib中,你可以使用titles(标题)、labels(标签)和legends(图例)来增强你的图表。本文讨论Python的Matplotlib绘图库中可用的不同标记选项。
提要中提到的这几种图形都是在气象上比较常用的,地形剖面主要研究地貌对降雨、气流的影响作用;纬度高度剖面图可以用来分析降雨的某些条件,如湿层深厚、上干下湿、风向风速等;时间纬度图研究某个固定经度上的值随时间的演变(这是和大气环流一般自西向东相匹配的,所以时间经度图比较少见)。
GCN存在过度平滑问题,在推荐系统中运用GCN同样也会面临这个问题。LightGCN 和 LR-GCN 在一定程度上缓解了这个问题,然而它们忽略了推荐中过度平滑问题的一个重要因素,即没有共同兴趣的高阶相邻用户会参与用户在图卷积操作中的embedding学习。结果,多层图卷积将使兴趣不同的用户具有相似的嵌入。本文提出了一种兴趣感知消息传递 GCN (IMP-GCN) 推荐模型,该模型在子图中执行高阶图卷积。子图由具有相似兴趣的用户及其交互商品组成。为了形成子图,本文设计了一个无监督的子图生成模块,它可以通过利用用户特征和图结构来有效地识别具有共同兴趣的用户。从而避免将来自高阶邻居的负面信息传播到嵌入学习中。
几十年来,科学家一直在争论一个简单的问题,这个问题是关于图及其连接的数量问题。现在,用一个数学本科生可能会想到的论点,来自加州大学欧文校区 Asaf Ferber 、特拉维夫大学的 Michael Krivelevich 终于在今年 3 月发表的一篇文章中给出了答案。
-可以通过将部分子图包装在括号中来制作嵌套布局。在这种情况下,画布布局的范围为不同的嵌套级别。
本节提要:关于一些不常见的colorbar的仿制:弯曲与环形的colorbar、两端分离的colorbar、收缩colorbar的主副刻度、双刻度列colorbar、截取与拼接cmap、外部颜色引入cmaps与palettable库包、特别的格式定制、levels等距而colorbar刻度距离不等距、其他类型的伪colorbar、使刻度侧的框线与colorbar柱体分离。
在星球研究所最近的《10万座大坝的诞生!》一文中,作者们利用丰富的数据可视化手段对我国及世界大型水坝工程的发展分布情况进行了分析展示,而我尤其喜爱其中的一幅作品:
从格罗滕迪克那里,我学习到不要以证明过程的难度为荣:困难意味着我们尚未理解。也就是说我们要能绘制出让证明过程显而易见的图景。 ——著名数学家 Pierre Deligne
Python地图可视化库有大家熟知的pyecharts、plotly、folium,还有稍低调的bokeh、basemap、geopandas,也是地图可视化不可忽视的利器。
本节提要:仿制中央气象台气象服务图片、关于cartopy里的投影与转换、cartopy中extent与boundary。
今天为大家介绍的是剑桥大学CaoXiao等人发表在Bioinformatics上的文章“SumGNN: 基于高效知识图总结的多类型药物相互作用预测”。由于药物-药物相互作用(DDI)数据集和大型生物医学知识图(KGs)的不断增加,使用机器学习模型准确检测不良的DDI成为可能。然而,如何有效地利用生物医学大噪声KGs进行DDI检测仍是一个有待解决的问题。此外,以往的研究多集中于二值DDI预测,而多型DDI的药理作用预测更有意义,但任务更艰巨。为了填补空白,作者提出了一种新的方法SumGNN: 知识摘要图神经网络。这个网络是通过子图提取模块实现的,该子图提取模块可以有效地锚定KG中的相关子图,从而在子图中生成推理路径,以及多通道知识和数据集成模块,该模块利用大量外部生物医学知识,显著改善了多类型DDI的预测。SumGNN比最佳模型的性能高出5.54%,在低数据关系类型中性能提高尤其显著。此外,SumGNN通过为每个预测生成的推理路径提供可解释的预测。
本节提要:colorbar刻度标签的进一步操作、不使用默认ax传入自定义colorbar、matplotlib.colors与colorbar的结合操作。
前面已经讲了 "一对一" 的线性存储结构、"一对多"的树结构 , 现在介绍 "多对多" 的图结构
在这个过程中发现一个好用的轻量级的出版级地图可视化图表绘制工具-「cartoee」,下面就给大家介绍一下:
上一次是于老师要求我做一次备课,讲一节课,上周于老师又自己准备了这个课程,这里放一下于老师课上补充的知识点
今天为大家介绍的是来自Jiawei Luo和Kelin Xia团队的一篇论文。分子表征学习在分子性质预测中扮演重要角色。现有的分子性质预测模型基于共价键的分子图,用以在原子层面上表示分子拓扑结构,并且完全忽略了分子内部的非共价相互作用。在这项研究中,作者提出了一种分子几何深度学习模型,旨在预测分子的性质,该模型致力于综合考虑分子的共价和非共价相互作用信息。
在上一篇文章当中我们介绍了matplotlib这个包当中颜色、标记和线条这三种画图的设置,今天我们同样也介绍三种新的设置。分别是标题、轴标签以及图例,这三个内容也是非常实用并且常用的。颜色、线条、标记这些设置的是图像本身的一些属性,而标题、轴标签这些数据是额外提供的补充数据,所以这两者的内在逻辑是不同的。
今天来讲一讲在日常工作生活中我常用的几种绘制地图的方法,下面我将介绍下面这些可视化库的地图绘制方法,当然绘制漂亮的可视化地图还有很多优秀的类库,没有办法一一列举
南海诸岛子图绘制cartopy比较简单,然而目前基本是用Basemap和geopandas做的。把cartopy加上南海诸岛子图基本上是与BUG斗争,遂放弃。于是直接使用偷懒做法,把南海诸岛加到图中。
领取专属 10元无门槛券
手把手带您无忧上云