在靠近用户的地方部署容器
本工程教育(EngEd)计划由科支持。
在全球范围内即时部署容器。Section是经济实惠、简单而强大的。
免费入门。
如何使用Plotly在Python中绘制数据图
10月19日, 2021
- 主题。
- 机器学习
谈到数据科学,数据可视化是必不可少的。它通常是任何数据分析工作的第一步。在你开始工作之前,可视化数据通常能让你对数据有一个直观的了解。
可视化通常可以帮助你看到数据中的一些模式,否则你可能无法看到。
在本教程中,我们将使用Python中的Plotly进行数据可视化。
前提条件
要理解本教程,你需要: 1:
- 在你的电脑上安装有Python。
- 使用Jupyter笔记本或Google Colab。在本教程中,我们将使用Google Colab。
什么是plotly?
Plotly是一个用于数据可视化和图形化的开源框架。如果你正在建立任何分析性的演示文稿或试图解释结果,它是一个伟大的工具。它是独立于语言的。
你不仅可以在Python中使用它,还可以用于其他语言,如R、MATLAB、Perl、Julia、Arduino和REST。我们将首先对Plotly和Matplotlib进行比较,以确定两者的对比情况。
plotly比matplotlib好吗?
Plotly和matplotllib是用于数据可视化的工具。但是,它们确实有其不同之处。
-
Plotly更专注于网络浏览器和构建交互式图表,而matplotlib则更专业和科学,因为它有无数的自定义选项。
-
为了创建好看的matplotlib图表,你需要花一些时间来编写显示图表所需的代码。只需几行代码,使用plotly就可以轻松实现数据的可视化。你可以用matplotlib完成同样的结果,但你必须写更多的代码,因为这是一个更复杂的过程。
那么,哪个更好呢?这取决于你的使用情况。Plotly更好,因为它在网络浏览器上运行,它是互动的,而且你可以快速地将你的数据可视化,而不需要写复杂的代码。
如果你的目标是创建更专业和科学的可视化,请选择matplotlib。使用一个示例数据集,让我们来学习如何使用这个库来实现数据的可视化。
创建数据可视化
我们需要首先在我们的Google colab中安装plotly。
!pip install plotly==5.3.1
import plotly.express as px #for visualization
gapminder_df = px.data.gapminder()
让我们来看看这个数据。
gapminder_df
country continent year lifeExp pop gdpPercap iso_alpha iso_num
0 Afghanistan Asia 1952 28.801 8425333 779.445314 AFG 4
1 Afghanistan Asia 1957 30.332 9240934 820.853030 AFG 4
2 Afghanistan Asia 1962 31.997 10267083 853.100710 AFG 4
3 Afghanistan Asia 1967 34.020 11537966 836.197138 AFG 4
4 Afghanistan Asia 1972 36.088 13079460 739.981106 AFG 4
... ... ... ... ... ... ... ... ...
1699 Zimbabwe Africa 1987 62.351 9216418 706.157306 ZWE 716
1700 Zimbabwe Africa 1992 60.377 10704340 693.420786 ZWE 716
1701 Zimbabwe Africa 1997 46.809 11404948 792.449960 ZWE 716
1702 Zimbabwe Africa 2002 39.989 11926563 672.038623 ZWE 716
1703 Zimbabwe Africa 2007 43.487 12311143 469.709298 ZWE 716
看着这些数字,我们需要将这些数据可视化,以便有人能够快速解释和理解这些数据。这也是一种美学上的享受。因此,让我们使用交互式动画来创建数据可视化,以帮助我们将这些数据可视化。
px.scatter(data_frame=gapminder_df,
x = 'gdpPercap',
y = 'lifeExp',
size = 'pop',
color = 'continent',
title = 'Life Span and Wealth 1952 - 2007',
labels = { 'gdpPercap': 'Wealth',
'lifeExp': 'Life Span'},
log_x = True,
range_y = [25,95],
hover_name = 'country',
animation_frame = 'year',
height = 600,
size_max = 100)
解释一下这个代码块。
x = 'gdpPercap'和 告诉我们希望我们的 和 的坐标是什么。X轴将代表gdpPercap,它被分配到标签 ,而Y轴将代表分配到标签 的预期寿命。y = 'lifeExp'xyWealthLife Spancolor = 'continent',告诉plotly,我们希望每个大洲有不同的颜色。title = 'Life Span and Wealth 1952 - 2007',是我们可视化的标题。你可以把它改成任何最适合你的标题。log_x = True,将X轴上的刻度转换为对数刻度,因为它的分布是相当宽的。range_y = [25,95],将Y轴上的范围限制在25到95年之间。hover_name = 'country',告诉我们,当我们把鼠标悬停在圆圈上时,我们希望它能告诉我们它代表哪个国家。height = 600,告诉plotly将绘图的大小调整为600px, ,将每个点的大小调整为100px。size_max = 100
现在,让我们看看我们运行代码时的输出。

上面的图片显示了1952年的财富分布情况。

上面的图片显示了从1952年到2007年的财富分布情况。最初,非洲和亚洲的人口是世界上财富最少的。渐渐地,更多的亚洲人获得了财富,并跃居非洲人之上。
结果还显示,到2007年,大部分的财富都集中在欧洲人、大洋洲人和美国人身上。你可以用你的鼠标光标放大和缩小,查看图上的各个点。按下播放按钮,可以看到1952-2007年的分布情况如何转变。
我们使用互动动画来帮助我们实现目标。还有许多其他的方式,你可以使用plotly进行可视化。这可能是使用线图、柱状图、饼图、交互式气泡图和choropleth。在这里探索更多的技术。
使用相同的数据集,让我们使用choropleth绘制。
px.choropleth(data_frame=gapminder_df,
locations='iso_alpha',
color='gdpPercap',
title = 'Life Span and Wealth (1952 - 2007) using cloropleth',
hover_name='country',
animation_frame='year',
height = 600,
color_continuous_scale=px.colors.sequential.Plasma,
projection='natural earth')

该图显示了1952年的财富分布,使用了投射在自然地球上的轮状图。

我们看到2007年的财富分布,使用的是投射在自然地球上的正方形图。
Choropleth地图最适合在你只处理一个变量时使用。例如,两个变量之间的差异(例如,从去年到今年的失业率变化)。
但是,如果你想显示不止一个变量的数值之间的相关性,脉络图可能不是你的最佳选择。可以考虑使用散点图来代替。
请在这里找到本教程的所有代码,看看从1952年到2007年各大洲的财富分布情况如何比较。
收尾工作
只需几行代码,你就可以在Python中使用plotly绘制数据。我向你挑战,找一些数据集来试试。享受以一种有趣的、有影响力的方式将你的数据可视化。
编码愉快!
参考资料
同行评议的贡献者。柯林斯-阿尤亚
类似文章
[

机器学习
多类标签的概率预测指南
阅读更多

机器学习
掌握Python中的内核PCA的入门知识
阅读更多

机器学习, 语言
使用高斯消除算法的线性方程组
阅读更多