可视化神器Plotly玩转气泡图
本文是可视化神器Plotly绘图的第6篇:将会重点讲解如何通过Plotly绘制气泡图,英文叫Bubble Charts
。首先看一段Plotly
官网中对气泡图的简介:
A bubble chart is a scatter plot in which a third dimension of the data is shown through the size of markers.
气泡图是也是一种散点图。这种散点图和普通散点图的不同之处在于:它会引入第三方维度,即标记markers的大小来进行展示。在Plotly中散点的大小是通过size参数来设置
往期精选
Plotly的文章会形成连载系列,前面5篇的Plotly可视化文章分别是:
导入库
首先还是需要导入我们绘图需要的几个常用库
1 | import pandas as pd |
绘图的时候还是会基于两种方式来实现:
- plotly_express:px
- plotly.graph_objects:go
基于px实现
自带GDP数据集
1 | fig = px.scatter( |
添加播放按钮
这是Plotly非常厉害的一个功能,能够实现自动播放功能,使用的参数是:animation_frame。我们对整个GDP数据集进行绘图:
1 | fig = px.scatter( |
看下按钮的位置:
再看看播放的实际效果:
模拟数据
1 | stu = pd.DataFrame({ |
1 | fig = px.scatter( |
显示文本信息
上面的图形中都是没有文本显示的,可以通过设置进行文本显示:
1 | fig = px.scatter( |
改变文本显示位置
文本显示位置主要顶部top、中间middle、底部bottom,加上左中右left、center、right的组合:
- top left
- top center
- top right
- middle left
- middle center
- middle right
- bottom left
- bottom center
- bottom right
1 | # 改变文本显示位置 |
看一个底部居中的例子:
自定义颜色
我们的颜色都是通过color参数的某个属性来设置,我们也可以自定义颜色:
1 | # 改变颜色 |
基于go实现
基础气泡图
1 | import plotly.graph_objects as go |
使用颜色区间
1 | import plotly.graph_objects as go |
增加悬停信息及改变颜色
1 | import plotly.graph_objects as go |
什么是悬停信息??
气泡大小缩放Scaling the Size of Bubble Charts
有时候数据之间的大小差异较大,造成某些气泡过大,图形非常难看,需要对气泡的大小进行尺度缩放,Plotly官方有建议的公式和参数:
To scale the bubble size, use the attribute
sizeref
. We recommend using the following formula to calculate asizeref
value:
sizeref = 2. * max(array of size values) / (desired maximum marker size ** 2)
通过一个实际的例子来看看什么叫气泡的大小缩放:
1、某份数据不进行尺度缩放的效果
1 | import plotly.graph_objects as go |
主要是看看最大和最小气泡的区别:
2、进行大小尺度的缩放
1 | # 标准化过程 |