关联知识
霍罗珀斯地图
霍罗珀斯地图是具有不同划分的区域的映射,该划分具有不同颜色,以指示该划分中特定特征的值。 该划分可以是国家,州,地区或任何其他有据可查的区域。
例如,您可以使用世界地图,国家/地区地图上的国家/地区人口可视化,或使用Choropleth地图使用某种技术的人口百分比可视化。
全球霍罗珀斯地图
在此,我们将使用在《数据世界》(https://ourworldindata.org/internet)中发布的互联网使用统计数据,并介绍1990年至2017年期间每个国家使用互联网的人口百分比 。
您可以使用以下代码查看数据集:
import pandas as pd
internet_usage_url ="https:"internet_usage_df = pd.read_csv(internet_usage_url)
internet_usage_df.head()
结果如下:
图略
您是否注意到数据集中称为代码的功能? 这是指由称为ISO 3166-1的标准分配给每个国家的代码。 它被广泛使用,因此世界各地的开发人员都有一种通用的方式来引用和访问任何数据中的国家/地区名称。 正如我们很快将看到的那样,代码功能还可使用plotly将数据映射到世界地图上的适当位置。
创建全球霍罗珀斯地图
在本创建中,我们将使用“数据中的世界”数据集生成一个世界范围的choropleth映射,数据集链接。由于DataFrame包含多年的记录,因此我们将数据的第一个子集扩展到一个特定的年份(例如2016年)。然后,我们将使用该子集生成一张全球地图。 为此,请执行以下步骤:
导入Python模块
importpandasaspd
从.csv文件中读取数据:
internet_usage_url ="https:"internet_usage_df = pd.read_csv(internet_usage_url)
由于DataFrame包含来自多年的记录,因此将数据细分为特定的一年:
internet_usage_2016 = internet_usage_df.query("Year==2016")
internet_usage_2016.head()
结果:
图略
对于下一步,我们将使用plotly中的express模块(为简单起见),并使用该模块中的choropleth函数。 传递给此函数的第一个参数是我们要可视化的DataFrame。 设置以下参数:
locations:设置为DataFrame中包含ISO 3166国家/地区代码的列的名称。
color:设置为包含数字特征的列的名称,将使用该特征对地图进行颜色编码。
hover_name:设置为包含悬停在地图上时要显示的要素的列的名称。
color_continuous_scale:这设置为配色方案,例如蓝色
使用plotly库的choropleth函数生成交互式的全球choropleth地图:
代码略
输出结果:
显示区域是加拿大的世界范围的地图
图略
显示区域是罗马尼亚的世界范围的地图
图略
这就是获得美丽绘图的快速方法!
让我们仔细查看该图,看看观察结果是否与我们的常识相符。 如您所料,西方世界的互联网使用率高于东方。
将鼠标悬停在地图上。 有趣的是,从上下两图中可以看出,与美国和大多数欧洲国家(〜59.5)相比,澳大利亚和加拿大的互联网访问人口比例更高(〜91.6)。
绘图还显示什么? 您是否看到了绘图右上方的侧边栏? 在这里,您将看到选择类型,放大和缩小,重置图,甚至在选择的配置中拍摄图快照的选项。
调整世界范围内的Choropleth地图
我们将对整体波形图的布局进行一些简单的更改,例如将地图投影从平面更改为自然地球,缩放到特定区域,使用update_layout函数向地图添加文本,以及添加旋转功能。 以下代码演示了如何将这些功能添加到地图。
导入Python模块
importpandasaspd
从.csv文件中读取数据:
internet_usage_url ="https:"internet_usage_df = pd.read_csv(internet_usage_url)
由于DataFrame包含来自多年的记录,因此将数据细分为特定的一年:
internet_usage_2016 = internet_usage_df.query("Year==2016")
将标题文本添加到Choropleth映射中,设置title_text参数:
代码略
结果:
图略
真好。 但是,可以说,我们只对看到整个亚洲大陆的互联网使用感兴趣。
在update_layout函数中将geo_scope设置为asia,以放大到Asia区域。 我们可以使用以下代码快速完成此操作:
代码略
输出结果:
图略
您是否尝试过拖动图并注意到它可以上下或左右移动? 如果绘图可以像真实的地球一样旋转不是很好吗? 好吧,这也很容易实现。 您需要做的就是更改地图的投影样式。
将投影类型设置为自然地球:
代码略
输出结果:
图略
立即尝试拖动地图。 旋转使绘图更加逼真! plotly提供了许多此类选项来调整可视化效果。 除了我们在示例中看到的以外,要尝试其他投影样式,请访问此处的官方绘图文档:
将动画添加到Choropleth地图
地理图上的绘图
创建散点图
创建气泡图
创建线图