首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于geopandas的空间数据分析—geoplot篇(下)

scheme参数,用于控制分层设色,详见本系列文章的分层设色篇,但不同的是在geoplot0.4.0版本之后此参数不再搭配分层数量k共同使用,而是更新传入mapclassify分段结果对象,下文中会做具体演示...使用到的美国本土各州矢量面数据contiguous-usa.geojson已上传到文章开头对应的Github仓库中: 图2 图3 首先我们将两张表中各自对应的州名数据作为键进行连接(注意pd.merge返回的结果类型...当设置False时只有等值线被绘制出,当设置True时会绘制核密度填充 shade_lowest:bool型,控制是否对概率密度最低的层次进行填充,下文会举例说明 n_levels:int型,控制等值线数量...,使得点分布中心看起来更加明显,再添加参数shade_lowest=True,即可对空白区域进行填充: 图8 随之而来的问题是整幅图像都被填充,为了裁切出核密度图像的地区轮廓,将底层行政区面数据作为clip...scheme参数,用于控制分层设色,详见本系列文章的分层设色篇,但不同的是在geoplot0.4.0版本之后此参数不再搭配分层数量k共同使用,而是更新传入mapclassify分段结果对象,下文中会做具体演示

1.5K50

基于geopandas的空间数据分析—geoplot篇(上)

,可传入对应df中指定列名或外部序列数据,默认为None即不进行设色 cmap:和matplotlib中的cmap使用方式一致,用于控制色彩映射方案 scheme:作用类似geopandas中的scheme...参数,用于控制分层设色,详见本系列文章的分层设色篇,但不同的是在geoplot0.4.0版本之后此参数不再搭配分层数量k共同使用,而是更新传入mapclassify分段结果对象,下文中会做具体演示 scale...:用于设定映射散点大小的序列数据,格式同hue,默认为None即每个散点等大小 limits:元组型,当scale不为None时,用于设定散点大小尺寸范围,格式(min, max) s:当scale设置...None时,用于控制散点的尺寸大小 color:当hue设置None时,用于控制散点的填充色彩 marker:用于设定散点的形状 alpha:控制全局色彩透明度 linewidths:控制散点轮廓宽度...scale='price', # 以price作为色彩映射列 color=np.array([0., 0., 0., 0.]), # 设置填充透明

2.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

(数据科学学习手札83)基于geopandas的空间数据分析——geoplot篇(下)

中的scheme参数,用于控制分层设色,详见本系列文章的分层设色篇,但不同的是在geoplot0.4.0版本之后此参数不再搭配分层数量k共同使用,而是更新传入mapclassify分段结果对象,下文中会做具体演示...图3   首先我们将两张表中各自对应的州名数据作为键进行连接(注意pd.merge返回的结果类型DataFrame,需要转换回GeoDataFrame): # 按照州名列进行连接 usa_plot_base...型,当设置False时只有等值线被绘制出,当设置True时会绘制核密度填充 shade_lowest:bool型,控制是否对概率密度最低的层次进行填充,下文会举例说明 n_levels:int型...图7   这时图像等值线间得到相应颜色的填充,使得点分布中心看起来更加明显,再添加参数shade_lowest=True,即可对空白区域进行填充: ?...中的scheme参数,用于控制分层设色,详见本系列文章的分层设色篇,但不同的是在geoplot0.4.0版本之后此参数不再搭配分层数量k共同使用,而是更新传入mapclassify分段结果对象,下文中会做具体演示

1.7K30

(数据科学学习手札82)基于geopandas的空间数据分析——geoplot篇(上)

从这个简单的例子中我们可以大致了解到,geoplot在geopandas处理好的数据基础上,针对不同类型图层封装了各自不同的API,由用户自主传入对应类型的矢量数据进行图层叠加,以得到最终结果,且可以兼容...,可传入对应df中指定列名或外部序列数据,默认为None即不进行设色 cmap:和matplotlib中的cmap使用方式一致,用于控制色彩映射方案 scheme:作用类似geopandas中的scheme...参数,用于控制分层设色,详见本系列文章的分层设色篇,但不同的是在geoplot0.4.0版本之后此参数不再搭配分层数量k共同使用,而是更新传入mapclassify分段结果对象,下文中会做具体演示...scale:用于设定映射散点大小的序列数据,格式同hue,默认为None即每个散点等大小 limits:元组型,当scale不为None时,用于设定散点大小尺寸范围,格式(min, max) s:...当scale设置None时,用于控制散点的尺寸大小 color:当hue设置None时,用于控制散点的填充色彩 marker:用于设定散点的形状 alpha:控制全局色彩透明度 linewidths

2.3K20

Python地信专题 | 基于geopandas的空间数据分析—数据结构篇

官方文档中的推荐安装方式: conda install --channel conda-forge geopandas conda-forge是一个社区项目,在conda的基础上提供了更广泛更丰富的软件资源包...interiorCoords)用于创建有孔面 # 其中polygonExteriors用于定义整个有孔Polygon的外围,是一个无孔的多边形 # interiorCoords是用于定义内部每个孔洞(本质上是独立的多边形)的序列...可以理解闭合的线或无孔多边形的边框,创建时传入数据的格式与Polygon相同。...()方法绘制有孔多边形的一个bug,即外部边框与内部孔洞创建时坐标 # 方向同为顺时针或顺时针时内部孔洞会自动被填充,如果你对这个bug感兴趣,可以前往 # https://github.com/geopandas...这里我们以geopandas自带的世界地图数据例: world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres')) world.plot

1.8K20

(数据科学学习手札79)基于geopandas的空间数据分析——深入浅出分层设色

2 基于geopandas的分层设色 地区分布图(Choropleth maps,又叫面量图)作为可能是最常见的一种地理可视化方法,其核心是对某个与矢量面关联的数值序列进行有意义的分层,并为这些分层选择合适美观的色彩...) 下限,以 (Q3+1.5IQR) 上限,将小于下限或大于上限的观测值作为离群异常值,最后用图像的形式表达上述计算结果,如图2的上图,而图2的下图对应着概率估计,可以看出,箱线图法实际上是基于概率估计的一种异常值剔除方法...图4   可以看出通过箱线图法将数据分成了五类,其中异常值只有1个即为湖北省,下面我们配合geopandas来对上述结果进行可视化,和上一篇文章一样,按照省级单位名称连接我们的疫情数据与矢量数据: ?...(n) 的序列 (X=[x_{1},x_{2},......回到我们的主题,搞清楚了FisherJenks的计算目标之后,我们同样利用mapclassify计算分层结果,其默认分层5: ?

1.7K20

(数据科学学习手札74)基于geopandas的空间数据分析——数据结构篇

,官方文档中的推荐安装方式: conda install --channel conda-forge geopandas conda-forge是一个社区项目,在conda的基础上提供了更广泛更丰富的软件资源包...图1   可以看到创建出的GeoSeries数据类型geometry,即几何对象。...interiorCoords)用于创建有孔面 # 其中polygonExteriors用于定义整个有孔Polygon的外围,是一个无孔的多边形 # interiorCoords是用于定义内部每个孔洞(本质上是独立的多边形)的序列...个有孔多边形内部空洞创建时使用[::-1]颠倒顺序 # 是因为GeoSeries.plot()方法绘制有孔多边形的一个bug,即外部边框与内部孔洞创建时坐标 # 方向同为顺时针或顺时针时内部孔洞会自动被填充...图35   而除了这些常规的数据索引方式之外,geopandasGeoDataFrame添加了.cx索引方式,可以传入所需的空间范围,用于索引与传入范围相交的对应数据: # 选择与东经80度-110

2.7K20

基于geopandas的空间数据分析-深入浅出分层设色

其中在基础可视化那篇文章中我们提到了分层设色地图,可以对与多边形关联的数值属性进行分层,并分别映射不同的填充颜色。 但只是开了个头举了个简单的例子,实际数据可视化过程中的分层设色有一套策略方法。...其核心是对某个与矢量面关联的数值序列进行有意义的分层,并为这些分层选择合适美观的色彩,最后完成对地图的着色。...下面我们配合geopandas来对上述结果进行可视化,和上一篇文章一样,按照省级单位名称连接我们的疫情数据与矢量数据: 图5 接着对其进行可视化,在上一篇文章图28的基础上,将scheme参数改为BoxPlot...首先我们对长度100的序列分为3组试试: f(100, 3) Out[11]: 4851 可以看到待选择的方案才4851个,还是很少的,那么我们接下来将组数提高到5: f(100, 5) Out[12...回到我们的主题,搞清楚了FisherJenks的计算目标之后,我们同样利用mapclassify计算分层结果,其默认分层5: 图9 可以看到,在这种方式下,数据的分组较为合理,同样将geopandas.GeoDataFrame.plot

1.3K20

(数据科学学习手札93)利用geopandas与PostGIS进行交互

2.1 利用geopandas向PostGIS写入数据   方便演示,这里我们以简化版的重庆市区县矢量面数据例,首先我们导入所需的geopandas(注意geopandas版本必须大于等于0.8.0...图6   接着我们来演示如何通过geopandas向PostGIS推送矢量信息表,使用到的APIto_postgis(),其主要参数如下: name:字符型,用于指定推送到PostGIS后的表名称...append'指向原表追加,默认为fail schema:字符型,用于指定schema,默认为'public' index:bool型,用于指定是否保留index信息 index_label:字符型或序列...,当index被设置True时index信息指定字段名称   首先需要利用sqlalchemy中的create_engine来创建数据库连接,传入字符串包含了数据库类型、用户名、密码、主机IP、...端口以及数据库名称,格式: 数据库类型://用户名:密码@主机IP:端口/数据库名称   对应本例: ?

1.6K20

利用geopandas与PostGIS进行交互

图1 2 geopandas与PostGIS进行交互 为了能在geopandas中与postgresql和PostGIS建立连接,请确保以下3个库已经安装: pip install sqlalchemy...2.1 利用geopandas向PostGIS写入数据 方便演示,这里我们以简化版的重庆市区县矢量面数据例,首先我们导入所需的geopandas(注意geopandas版本必须大于等于0.8.0)与...'指向原表追加,默认为fail 「schema」:字符型,用于指定schema,默认为'public' 「index」:bool型,用于指定是否保留index信息 「index_label」:字符型或序列...,当「index」被设置True时index信息指定字段名称 ❞ 首先需要利用sqlalchemy中的create_engine来创建数据库连接,传入字符串包含了「数据库类型」、「用户名」、「密码」...、「主机IP」、「端口」以及「数据库名称」,格式: 数据库类型://用户名:密码@主机IP:端口/数据库名称 对应本例: 图7 在pgAdmin中随即就能查看到刚才写入的数据表: 图8 图9

1.9K20

(数据科学学习手札78)基于geopandas的空间数据分析——基础可视化

作为基于geopandas的空间数据分析系列文章的第四篇,通过本文你将会学习到基于geopandas的基础可视化。...,可接受颜色名称和十六进制色彩,设置'none'时不填充颜色 edgecolor:设置几何对象的边界色,对面数据和点数据效果较为明显,不建议对线数据设置该参数,传入格式同facecolor linewidth...地理操作中的融合dissolve()按照OWNER列融合分离的面多面,从而使得每一行是对应的完整的省份,关于更多地理操作将会在后续的对应的文章介绍): import geopandas...,我们设置面数据的填充阴影样式'x',值得一提的是,hatch参数对于同一种阴影模式,可以通过增加字符数量来提高阴影密度,如下图是hatch='x'时: fig, ax =...Reds红色渐变配色,以及调整一些前文中我们已经很熟悉的参数,看看得到什么样的结果: 图23   为什么会得到这样奇怪的结果

3.5K20

是技术也是艺术 使用geopandas玩转地图可视化

,可接受颜色名称和十六进制色彩,设置'none'时不填充颜色 edgecolor:设置几何对象的边界色,对面数据和点数据效果较为明显,不建议对线数据设置该参数,传入格式同facecolor linewidth...因此使用geopandas地理操作中的融合dissolve()按照OWNER列融合分离的面多面,从而使得每一行是对应的完整的省份,关于更多地理操作将会在后续的对应的文章介绍。...主要样式对应如下,如'-'代表横线填充: 图7 参考图7,我们设置面数据的填充阴影样式'x'。 值得一提的是,hatch参数对于同一种阴影模式,可以通过增加字符数量来提高阴影密度。...好在geopandas我们提供了representative_point()方法,用于求出任意多边形内部的一个典型点: fig, ax = plt.subplots(figsize=(12, 8))...看看得到什么样的结果: 图23 为什么会得到这样奇怪的结果?让我们逐一来分析一下问题所在: 中国台湾省跑哪里去了?

2.3K40

(数据科学学习手札84)基于geopandas的空间数据分析——空间计算篇(上)

在实际的空间数据分析过程中,数据可视化只是对最终分析结果的发布与展示,在此之前,根据实际任务的不同,需要衔接很多较为进阶的空间操作,本文就将对geopandas中的部分空间计算进行介绍。   ...本文是基于geopandas的空间数据分析系列文章的第8篇,通过本文你将学习到geopandas中的空间计算(由于geopandas中的空间计算内容较多,故拆分成上下两篇发出,本文是上篇)。...图12 2.3 叠加分析 geopandas基于shapely中的overlay(),GeoDataFrame赋予了同样的可以作用到整个矢量列的overlay(),使得我们可以对两个GeoDataFrame...,无法获得来自另一个GeoDataFrame的属性值,所以返回出来的结果会在对应的字段下填充缺失值。...29 explode() explode()功能与dissolve()相反,用于将Multi-xxx或Geometry-Collection类型的数据从一行拆分到多行,如下面的例子,非矢量字段会自动填充到每一行

3.9K31

基于geopandas的空间数据分析——空间计算篇(上)

在实际的空间数据分析过程中,数据可视化只是对最终分析结果的发布与展示,在此之前,根据实际任务的不同,需要衔接很多较为进阶的空间操作,本文就将对geopandas中的部分空间计算进行介绍。...本文是基于geopandas的空间数据分析系列文章的第8篇,通过本文你将学习到geopandas中的空间计算(由于geopandas中的空间计算内容较多,故拆分成上下两篇发出,本文是上篇)。...2 基于geopandas的矢量计算 geopandas中的矢量计算根据性质的不同可分为以下几类: 2.1 构造型方法 geopandas中的构造型方法(Constructive Methods)指的是从单个...,以及df1与df2各自剩下的不相交的部分,如图中蓝色部分即为df1与df2相交从而不存在缺失值的部分,而剩余的灰色部分因为没有相交,无法获得来自另一个GeoDataFrame的属性值,所以返回出来的结果会在对应的字段下填充缺失值...()相反,用于将Multi-xxx或Geometry-Collection类型的数据从一行拆分到多行,如下面的例子,非矢量字段会自动填充到每一行: 图30 以上就是本文的全部内容,关于更多geopandas

3.2K30

【CSS】课程网站头部制作 ④ ( 搜索栏按钮测量 | 搜索栏按钮代码编写 | 代码示例 )

右侧的按钮大小 , 50 x 40 像素 ; 按钮颜色值 #00a4ff ; 2、按钮切图 使用 切片工具 , 将 按钮图片 进行选择 , 然后进行切图 ; 选择 " 菜单栏 / 文件 / 导出 / 存储...搜索栏盒子 中 , 与 Input 表单放置在一行 , 并且二者之间没有缝隙 , 默认的行内块元素之间会有一条无法控制的缝隙 ; 最后 , 设置按钮图片 , 按钮图片无法填充满 , 使用平铺样式 ,...平铺后顶部的部分图片内容会填充底部缝隙 ; /* 清除按钮默认样式 ( 主要是按钮自带的边框 ) */ button { border: none; } /* 搜索框按钮 */ .search button...} /* 导航栏内部 的 无序列表 设置左浮动 */ .nav ul li { /* 设置 无序列表项 从左到右排列 */ float: left; } /* 设置无序列表中的链接样式 */ ...., 方便与右侧的按钮进行排列 */ float: left; /* 宽度 360 像素, 但是左侧有 20 像素内边距变为 340 像素 */ width: 340px; /* 高度 38

2.3K70

【CSS】课程网站 Banner 制作 ① ( Banner 栏测量 | Banner 盒子模型代码 | 代码示例 )

盒子模型尺寸测量 2、背景测量切图 二、Banner 盒子模型代码 1、HTML 标签结构 2、CSS 样式 3、显示效果 一、Banner 栏测量 ---- 1、盒子模型尺寸测量 该 Banner 条宽度填充整个浏览器...条的版心尺寸 1200 x 420 像素 , 如下图所示 : 版心左侧的 侧导航栏 尺寸 190 x 420 像素 ; Banner 条版心 右侧的 课程表 , 尺寸 228 x 300..., 洋红色矩形框左侧导航栏盒子 , 右侧绿色矩形框 课程表 盒子 ; 2、背景测量切图 使用吸管工具 , 点击背景 , 吸取颜色值 , 然后点击 " 前景色 " 拾色器 , 可以获取 Banner...-- Banner 模块 - 结束 --> 2、CSS 样式 /* Banner 条样式 */ .banner { /* 宽度自动填充整个浏览器, 这里只设置高度 */...} /* 导航栏内部 的 无序列表 设置左浮动 */ .nav ul li { /* 设置 无序列表项 从左到右排列 */ float: left; } /* 设置无序列表中的链接样式 */ .

3.9K20

geopandas 0.14版本重要更新内容一览

1 简介 大家好我是费老师,就在前两天,Python生态中的GIS运算神器geopandas发布了其0.14.0新版本,在这次新版本更新中,不仅是新增了许多矢量计算API,还开始日后正式发布1.0...且geopandas将会在未来要发布的1.0正式版本中,直接移除对pygeos,以及旧版shapely(<2.0版本)的支持: 2.3 新增一系列矢量计算方法 在这次新版本中,基于shapelyGeoSeries...「最小凹多边形」,与convex_hull计算结果的对比示例如下: import random from shapely.geometry import MultiPoint # 示例GeoSeries..., random.uniform(0, 1)) for i in range(25)]) ] ) ax = demo_geometries.plot() # concave_hull()计算结果...demo_geometries.concave_hull().plot(ax=ax, facecolor='none', edgecolor='red') # 对比convex_hull()计算结果

26530

(数据科学学习手札154)geopandas 0.14版本新特性一览

geopandas将会在未来要发布的1.0正式版本中,直接移除对pygeos,以及旧版shapely(<2.0版本)的支持: 2.3 新增一系列矢量计算方法   在这次新版本中,基于shapely...,与convex_hull计算结果的对比示例如下: import random from shapely.geometry import MultiPoint # 示例GeoSeries demo_geometries..., random.uniform(0, 1)) for i in range(25)]) ] ) ax = demo_geometries.plot() # concave_hull()计算结果...demo_geometries.concave_hull().plot(ax=ax, facecolor='none', edgecolor='red') # 对比convex_hull()计算结果...2.3.8 新增segmentize()方法   新增segmentize()方法,用于对目标矢量列中的各要素,按照设定的等间距进行增密操作,譬如在原有仅起点终点连成线要素基础上,按照1单位距离进行增密的结果如下

30820
领券