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

使用geopandas制作多个choropleth地图,通过分类变量进行着色,并在地图之间保持相同的配色方案

首先,geopandas是一个基于pandas的地理数据处理库,它提供了方便的地理数据操作和分析功能。choropleth地图是一种通过颜色来表示地理区域数据的可视化方式,分类变量可以是地理区域的某种属性或指标。

下面是制作多个choropleth地图的步骤:

  1. 导入必要的库和数据:
代码语言:txt
复制
import geopandas as gpd
import matplotlib.pyplot as plt

# 读取地理数据
gdf = gpd.read_file('shapefile.shp')

# 读取分类变量数据
data = gpd.read_file('data.csv')
  1. 数据预处理:
代码语言:txt
复制
# 合并地理数据和分类变量数据
merged = gdf.merge(data, left_on='ID', right_on='ID', how='left')

# 填充缺失值
merged['value'] = merged['value'].fillna(0)
  1. 创建多个choropleth地图:
代码语言:txt
复制
# 创建子图
fig, axs = plt.subplots(2, 2, figsize=(10, 10))

# 循环遍历每个子图
for i, ax in enumerate(axs.flatten()):
    # 获取当前子图的分类变量范围
    vmin = merged['value'].min()
    vmax = merged['value'].max()

    # 绘制choropleth地图
    merged.plot(column='value', cmap='Blues', linewidth=0.8, ax=ax, edgecolor='0.8', vmin=vmin, vmax=vmax)

    # 设置标题
    ax.set_title(f'Map {i+1}')

# 调整子图之间的间距
plt.tight_layout()

# 显示地图
plt.show()

在上述代码中,我们首先导入了geopandas和matplotlib.pyplot库,并读取了地理数据和分类变量数据。然后,我们将地理数据和分类变量数据进行合并,并填充缺失值。接下来,我们创建了一个包含4个子图的图形,并循环遍历每个子图。在每个子图中,我们根据分类变量的范围绘制了choropleth地图,并设置了标题。最后,我们调整了子图之间的间距,并显示了地图。

geopandas提供了丰富的地理数据操作和分析功能,可以满足各种地理数据可视化的需求。对于更复杂的地理数据处理和分析任务,可以参考geopandas官方文档(https://geopandas.org/)和相关教程进行学习和实践。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云地理信息服务(https://cloud.tencent.com/product/gis)
  • 腾讯云数据地图服务(https://cloud.tencent.com/product/dms)
  • 腾讯云地理位置服务(https://cloud.tencent.com/product/lbs)
  • 腾讯云地理信息系统(https://cloud.tencent.com/product/gis)
  • 腾讯云地理信息大数据分析(https://cloud.tencent.com/product/gis)
  • 腾讯云地理信息开发者工具(https://cloud.tencent.com/product/gis)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

地图可视化:geopandas绘制拓扑着色地图

,需要满足拓扑着色要求,即所有相邻区域不可以用同一种颜色绘制,以前手绘地图需要绘制者自行思考设计具体着色规则,而现如今通过计算机辅助,我们可以快速生成大量着色方案。...今天我们就来学习配合geopandas如何快速实现地图拓扑着色。...2 基于mapclassify地图拓扑着色 对于着色方案生成,我们需要使用到mapclassify这个第三方库,以前我geopandas系列文章分层设色篇也介绍过其中诸多功能,而本文需要使用到其特殊...greedy捕捉相邻面要素关系,即面要素两两之间拓扑距离小于min_distance时也视作“邻接” 知晓了greedy()主要参数后,我们下面来演示如何使用它来辅助制作拓扑着色地图。...: 而如果你希望用自定义色彩值来配合标签字段进行映射,则可以参考我下面的做法,将具体颜色值譬如16进制色彩字符串传入color参数,这里使用到以前介绍过多次配色库palettable:

1.4K30

(数据科学学习手札133)利用geopandas绘制拓扑着色地图

,需要满足拓扑着色要求,即所有相邻区域不可以用同一种颜色绘制,以前手绘地图需要绘制者自行思考设计具体着色规则,而现如今通过计算机辅助,我们可以快速生成大量着色方案。   ...今天我们就来学习配合geopandas如何快速实现地图拓扑着色。...2 基于mapclassify地图拓扑着色   对于着色方案生成,我们需要使用到mapclassify这个第三方库,以前我geopandas系列文章分层设色篇也介绍过其中诸多功能,而本文需要使用到其特殊...参数来设定距离阈值来帮助greedy捕捉相邻面要素关系,即面要素两两之间拓扑距离小于min_distance时也视作“邻接”   知晓了greedy()主要参数后,我们下面来演示如何使用它来辅助制作拓扑着色地图...:   而如果你希望用自定义色彩值来配合标签字段进行映射,则可以参考我下面的做法,将具体颜色值譬如16进制色彩字符串传入color参数,这里使用到以前介绍过多次配色库palettable:

95430

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

图1 本文是基于geopandas空间数据分析系列文章第7篇,通过本文你将学习geoplot中高级绘图API。...2.1 Choropleth Choropleth图又称作地区分布图或面量图,我们在系列之前深入浅出分层设色篇中详细介绍过其原理及geopandas实现,可以通过将指标值映射到面数据上,以实现对指标值地区分布可视化...7 edgecolor:控制多边形轮廓颜色 linewidth:控制多边形轮廓线型 下面我们通过实际例子来学习geoplot.choropleth用法,这里使用数据为美国新型冠状肺炎各州病例数分布...即不进行设色 cmap:和matplotlib中cmap使用方式一致,用于控制色彩映射方案 alpha:控制全局色彩透明度 scheme:作用类似geopandasscheme参数,用于控制分层设色...譬如我们上文中绘制美国区域时频繁使用AlbersEqualArea()即之前我们在geopandas通过proj4自定义阿尔伯斯等面积投影。

1.5K50

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

2.1 Choropleth Choropleth图又称作地区分布图或面量图,我们在系列之前深入浅出分层设色篇中介绍过其原理及geopandas实现,可以通过将指标值映射到面数据上,以实现对指标值地区分布可视化...7 edgecolor:控制多边形轮廓颜色 linewidth:控制多边形轮廓线型   下面我们通过实际例子来学习geoplot.choropleth用法,这里使用数据为美国新型冠状肺炎各州病例数分布...使用方式一致,用于控制色彩映射方案 clip:GeoSeries型,用于为初始生成核密度图像进行蒙版裁切,下文会举例说明 extent:元组型,用于传入左下角和右上角经纬度信息来设置地图空间范围,...图10   我们将其流量列映射到线粗细程度和颜色上来,为了美观起见我们选择系列文章分层设色篇中palettableSunsetDark作为配色方案: # 选择配色方案为SunsetDark_5 from...AlbersEqualArea()即之前我们在geopandas通过proj4自定义阿尔伯斯等面积投影,其他常见投影譬如Web Mercator、Robinson,或者直接绘制球体地图,如本文开头

1.8K30

GeoPandas 绘制超高颜值数据地图

CRS/坐标参考系统告诉我们如何(使用投影 或数学方程)将圆形地球上位置(坐标)转换为扁平二维坐标系(例如计算机屏幕或纸张)上相同位置地图)。最常用 CRS 是“EPSG:4326”。...开始绘图 显示一个简单世界地图 - 只有边界地图 作为第一步,我们绘制基本地图——只有边界世界。在接下来步骤中,将为我们感兴趣国家/地区着色。...ax = df_world["geometry"].boundary.plot(figsize=(20,16)) ▲ 世界地图 显示 Choropleth 地图 - 绘制区域 接下来,我们根据国家参加学科数量为参加奥运会国家涂上颜色深浅...国家参加学科越多,颜色越深,反之亦然。等值线图为与数据变量相关区域/多边形着色。...对未参加国家进行着色 绘制missing_kwds 现在,哪些没有参加国家呢?所有没有阴影(即白色)国家都是没有参加国家。但是我们通过将这些国家/地区涂成灰色来使这一点更加明显。

5K21

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

作为基于geopandas空间数据分析系列文章第五篇,通过本文你将会学习到基于geopandas和机器学习分层设色。...2 基于geopandas分层设色 地区分布图(Choropleth maps,又叫面量图)作为可能是最常见一种地理可视化方法。...其核心是对某个与矢量面关联数值序列进行有意义分层,并为这些分层选择合适美观色彩,最后完成对地图着色。...而为了自定义图例色彩与geopandas映射出保持一致,我们需要额外使用到matplotlib中get_cmap(cmap)来制作可独立导出颜色cmap方案实例。...其实色彩搭配是比较主观事情,但想要自己创造出美观合理配色方案并不是容易事情。 下面我们来介绍两种选择配色方案方法。

1.3K20

Python可视化笔记之folium交互地图

leftlet给R语言提供了很好用交互式动态地图接口,其在Python中得API接口包名为folium(不知道包作者为何这样起名字,和leaflet已经扯不上关系了),可以满足我们平时常用热力图、填充地图...关于folium在热力图上用法,可以参考这一篇分享: 使用Python中folium包创建热力密度图 本篇主要介绍其在point、line、polygon这三个地理信息场景下得应用: import...polygon: 因为leaflet使用在线地图并不开放地址匹配功能,也就意味着我们无法通过直接输入行政区名称来获取行政区划边界,所以在制作填充地图时,仍然需要我们构建本地素材。...好在foliumchoropleth函数直接支持json格式地图,仅需提供素材地址即可,data中应该包含与json素材中属性表和地理信息边界保持一致得映射表,columns用于指定要用到字段名称...key_on用于指定json地图数据中和你指定得data中对应得连接键(相当于主键)。 fill_color可以指定用于配色colorBrewer调色板。

2.9K40

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

作为基于geopandas空间数据分析系列文章第五篇,通过本文你将会学习到基于geopandas和机器学习分层设色。...2 基于geopandas分层设色 地区分布图(Choropleth maps,又叫面量图)作为可能是最常见一种地理可视化方法,其核心是对某个与矢量面关联数值序列进行有意义分层,并为这些分层选择合适美观色彩...,最后完成对地图着色,优点是美观且直观,即使对地理信息一窍不通的人,也能通过颜色区分出不同面之间同质性与异质性: ?...geopandas映射出保持一致,我们需要额外使用到matplotlib中get_cmap(cmap)来制作可独立导出颜色cmap方案实例,譬如我们这里是Reds,就需要按照前面bp有记录数量分层结果...图24 2.2 色彩方案选择   前面已经详细介绍了数据分层常用各种方法及使用场景,“分层”部分做完之后,就到了设色部分,其实色彩搭配是比较主观事情,但想要自己创造出美观合理配色方案并不是容易事情

1.8K20

别找了,最全数据可视化配色指南在这

很多同学都对可视化都非常感兴趣,但等自己去画图或者制作数据分析报告时,配色可能亮瞎狗眼。 今天就给大家分享一篇最全数据可视化配色指南?,聚焦可视化中颜色如何传递数据信息。...我们先来看看适用于90%情况答案: 1)当你数据没有内在排序时,使用类别色阶 如果你无法对颜色编码后变量进行大小排序,使用类别色阶,反之如果可以排序,使用连续色阶或发散色阶。...4)使用色调来区分强调和弱化区域 颜色分类不必具有相同重要性,如果你想突出显示一个类别,可以用一种色调(通常是灰色)阴影为所有其他类别着色: ?...第三,如果你确实想使用渐变,如果在引入第二种颜色没有意义情况下,请保持一种颜色渐变。 有一个示例。为了避免使用一个颜色太多渐变,《金融时报》有时会展示多个颜色渐变。 ? 这样效果并不好。...你可以将具有相同颜色数值和区域进行分组,以便读者可以快速了解你想表达观点。 制图师迈克尔·多布森(Michael Dobson)在1980年代大力倡导分类地图

2.4K40

绘图技巧 | 双变量映射地图可视化绘制方法

本期推文主要涉及内容如下: 双变量映射地图(Bivariate Choropleth Map)简介 R-ggplot2+biscale 轻松绘制双变量映射地图 Bivariate Choropleth...Map 在绘制地图时,我们常常使用单一变量进行映射处理,当然,这样展示结果可以很好表现我们研究特征(如收入、房价等)变化情况或者具体情况,如下图: ?...单一变量映射地图 首先,我们先通过通过下图来简单解释下双变量映射含义: 首先我们创建单一变量3级顺序配色色系。色系从较浅中性色开始,代表第一个变量最小值。...three-by-three palettes 接下来,我们使用具体例子介绍使用biscale包绘制双变量映射地图教程。...注意:红框中数据就是我们用于映射数据集,接下来,我们进行可视化展示: 「可视化绘制」:在此之前,我们需将绘制数据使用sf::st_transform()进行投影转换,使其更好展示美国地图,代码如下

2.9K10

绘图技巧 | 双变量映射地图可视化绘制方法

本期推文主要涉及内容如下: 双变量映射地图(Bivariate Choropleth Map)简介 R-ggplot2+biscale 轻松绘制双变量映射地图 Bivariate Choropleth...Map 在绘制地图时,我们常常使用单一变量进行映射处理,当然,这样展示结果可以很好表现我们研究特征(如收入、房价等)变化情况或者具体情况,如下图: ?...单一变量映射地图 首先,我们先通过通过下图来简单解释下双变量映射含义: 首先我们创建单一变量3级顺序配色色系。色系从较浅中性色开始,代表第一个变量最小值。...three-by-three palettes 接下来,我们使用具体例子介绍使用biscale包绘制双变量映射地图教程。...注意:红框中数据就是我们用于映射数据集,接下来,我们进行可视化展示: 「可视化绘制」:在此之前,我们需将绘制数据使用sf::st_transform()进行投影转换,使其更好展示美国地图,代码如下

1.1K20

geopandas:Python绘制数据地图

GeoPandas是一个Python开源项目,旨在提供丰富而简单地理空间数据处理接口。 GeoPandas扩展了Pandas数据类型,并使用matplotlib进行绘图。...GeoPandas基础使用见Python绘制数据地图1-GeoPandas入门指北。 GeoPandas可视化入门见Python绘制数据地图2-GeoPandas地图可视化。...中,dissolve函数可以对具有相同属性值几何对象进行合并,从而生成新几何对象。...瓦片地图是一种基于网格地图显示方式,将地图划分为多个小块,每个小块称为“瓦片”,每个瓦片都有自己坐标和编号。这些瓦片可以按需加载,使用户能够快速地浏览地图,同时减少了加载时间和资源消耗。...当我们使用地图服务时,通过改变xyz值,就可以获取到不同位置、不同缩放级别下地图瓦片,从而达到展示不同地图目的。

2.7K41

《数据可视化基础》第四章:可视化图形推荐

另外,堆叠条形图基本使用所有情况,如果是比例沿连续性变量进行变化时候,使用堆叠密度图是可以。 ?...如果要可视化多个分类变量数据数据时候,那么马赛克图(mosaic plot)、矩阵树状图 (treemaps)以及并行曲线图是很有用可视化途径。具体使用条件我们会在后面的几章进行讲解。 ?...对于成对数据,沿x和y轴变量相同单位测量,通常添加一条表示x = y线通常会有所帮助。 ? 对于大量点,常规散点图可能会由于点过多,就容易看不清趋势。...在这种情况下,轮廓线,2D箱或六角箱可提供替代方案。另一方面,当我们要可视化两个以上变量时,我们可以选择以相关图而不是基础原始数据形式绘制相关系数。 ?...此外,我们可以根据数据为地图区域着色,从而显示不同区域中数据值。这样图被称为choropleth

2.4K30

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

在拿到一份矢量数据开始分析时,对其进行可视化无疑是探索了解数据阶段重要步骤。 作为基于geopandas空间数据分析系列文章第四篇,通过本文你将会学习到基于geopandas基础可视化。...比如下面这样: 案例地图 2 基础可视化 geopandas使用matplotlib作为绘图后端,使用plot()方法对GeoSeries或GeoDataFrame进行可视化,简简单单即可完成基本可视化...在geopandas制作这种地图非常简单,我们只需要结合matplotlib中添加子图区域add_axes(),即可完成制作。...2.2.1 地区分布图与分层设色 地区分布图(Choropleth Map),指的是依据指定属性进行层次划分,并将对应层次映射到对应几何对象色彩之上。...且因为这时变成了离散分层,所以图例也由比色卡变为更为标准分类图例,但是这个图例默认在右上角,对地图造成了较为明显遮挡。

2.3K40

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

1 简介   通过前面的文章,我们已经对geopandas数据结构、坐标参考系以及文件IO有了较为深入学习,在拿到一份矢量数据开始分析时,对其进行可视化无疑是探索了解数据阶段重要步骤...作为基于geopandas空间数据分析系列文章第四篇,通过本文你将会学习到基于geopandas基础可视化。...2 基础可视化 geopandas使用matplotlib作为绘图后端,使用plot()方法对GeoSeries或GeoDataFrame进行可视化,简简单单即可完成基本可视化...  大家平时如果留意会记得,我们一般看到中国地图其南海区域都是单独在右下角地图里显示出来,在geopandas制作这种地图非常简单,我们只需要结合matplotlib中添加子图区域add_axes...,其通过调用第三方包mapclassify中用于给数据分层方法),来实现geopandas分层设色,譬如下面我们在图25基础上,使用我们喜闻乐见自然断点法对应'NaturalBreaks'作为参数

3.5K20

用数据讲述最好故事:如何做出赏心悦目的数据可视化

· Choropleth (分级统计图) ——这是一种主题地图样式,它根据地图上显示数据强度,对应展现在阴影颜色或图案纹理上。例如,显示人口密度或人均收入。...在choropleth地图中,它颗粒比 dot density密度小,不受边界约束。 · Heatmap (热度图)——这种地图使看地图的人能够在缩放因子中独立地感知点密度。...例如,表示一般分布情况时,不是渲染出数万个点散点图,而可以将点数填充为几百个六边形。 热点图本质上使用颜色作为数据可视化工具。该应用可以很好处理多个变量,并可以在数据中显示类似的模式和相关性。...在点密度图中,具有较多点区域表示高浓度值,具有较少点区域表示较低浓度值。我会使用范围,不透明度或颜色对这些变化进行可视化。...颜色可以大大增强制图者与看图者之间交流,但失败配色可能导致图既不有效也不吸引人。记住,往往越简洁越好!

2.4K100

Python数据可视化,完整版操作指南(建议收藏)

我们将从最基本可视化开始,直接查看数据,然后继续绘制图表,最后制作交互式图表。 ? 数据集 我们将使用两个数据集来适应本文中显示可视化效果,数据集可通过下方链接进行下载。...在这个教程中,我们将更多使用第一个包括随时间推移(从2004年到2020年)三个术语受欢迎程度数据。另外,我添加了一个分类变量(1和0)来演示带有分类变量图表功能。...我们可以在同一张图中制作多个变量图,然后进行比较。...另一个最受欢迎是配对图,它向我们显示了所有变量之间关系。如果您有一个大数据集,请谨慎使用此功能,因为它必须显示所有数据点次数与有列次数相同,这意味着通过增加数据维数,处理时间将成倍增加。...然后,我们将使用Geopandas将国家/地区名称转换为可在地图上绘制坐标。

1.8K31

30万字,“保姆级”可视化视觉设计优质学习攻略推荐

首先,简单介绍一下作者,宁海涛是211硕士毕业,先后学习Python进行深度学习模型构建以及可视化展示,当然还包括数据分析、数据处理、数据可视化等技能,此外,还特别擅长于使用R语言进行数据统计和可视化绘制...和R-ggplot2绘制 Hans Rosling Charts Matplotlib 绘制 Matplotlib 另类时间变化图制作 Python-matplotlib 散点图配色设计 下面为部分可视化作品集...空间插值图表可视化作品展示 地图可视化 常见地图绘制方法,这个包全包了~~ 绘图技巧 | 三元相分级统计地图(Ternary Choropleth Map)可视化绘制 绘图技巧 | 双变量映射地图可视化绘制方法...地图可视化绘制 | R-cartography 艺术地图绘制 R-ggplot2 标准中国地图制作 绘图技巧 | “变形”地图可视化绘制方法 地图可视化绘制 | R-tanaka/metR包 绘制3D...地图可视化作品展示 数据处理小技巧系列 数据处理技巧 | glob - 被忽略超强文件批量处理模块 数据处理技巧 | 带你了解Pandas.groupby() 常用数据处理方法 最后,希望大家都能从这个优质公众号中找到到自己需要内容

93340

8000 字 Python 数据可视化实操指南

我们将从最基本可视化开始,直接查看数据,然后继续绘制图表,最后制作交互式图表。 我们将使用两个数据集来适应本文中显示可视化效果,数据集可通过下方链接进行下载。...在这个教程中,我们将更多使用第一个包括随时间推移(从2004年到2020年)三个术语受欢迎程度数据。另外,我添加了一个分类变量(1和0)来演示带有分类变量图表功能。...结果如下: 我们可以在同一张图中制作多个变量图,然后进行比较。...如果您有一个大数据集,请谨慎使用此功能,因为它必须显示所有数据点次数与有列次数相同,这意味着通过增加数据维数,处理时间将成倍增加。...然后,我们将使用Geopandas将国家/地区名称转换为可在地图上绘制坐标。

1.4K20
领券