文章目录
前言
数据可以帮助我们描述这个世界、阐释自己的想法和展示自己的成果,但如果只有单调乏味的文本和数字,我们却往往能难抓住观众的眼球。而很多时候,一张漂亮的可视化图表就足以胜过千言万语
本文将介绍 5 种基于 Plotly 的可视化方法,你会发现,原来可视化不仅可用直方图和箱形图,还能做得如此动态好看甚至可交互。
那么,Plotly 有哪些好处?Plotly 的整合能力很强:可与 Jupyter Notebook 一起使用,可嵌入网站,并且完整集成了 Dash——一种用于构建仪表盘和分析应用的出色工具。
启动
如果你还没安装 Plotly,只需在你的终端运行以下命令即可完成安装:
pip install plotly
安装完成后,就开始使用吧!
动画
在研究这个或那个指标的演变时,我们常涉及到时间数据。Plotly 动画工具仅需一行代码就能让人观看数据随时间的变化情况,如下图所示:
代码如下:
import plotly.express as px
from vega\_datasets import data
df = data.disasters()
df = df\[df.Year > 1990\]
fig = px.bar(df,
y="Entity",
x="Deaths",
animation\_frame="Year",
orientation='h',
range\_x=\[0, df.Deaths.max()\],
color="Entity")
# improve aesthetics (size, grids etc.)
fig.update\_layout(width=1000,
height=800,
xaxis\_showgrid=False,
yaxis\_showgrid=False,
paper\_bgcolor='rgba(0,0,0,0)',
plot\_bgcolor='rgba(0,0,0,0)',
title\_text='Evolution of Natural Disasters',
showlegend=False)
fig.update\_xaxes(title\_text='Number of Deaths')
fig.update\_yaxes(title\_text='')
fig.show()
只要你有一个时间变量来过滤,那么几乎任何图表都可以做成动画。下面是一个制作散点图动画的例子:
import plotly.express as px
df = px.data.gapminder()
fig = px.scatter(
df,
x="gdpPercap",
y="lifeExp",
animation\_frame="year",
size="pop",
color="continent",
hover\_name="country",
log\_x=True,
size\_max=55,
range\_x=\[100, 100000\],
range\_y=\[25, 90\],
# color\_continuous\_scale=px.colors.sequential.Emrld
)
fig.update\_layout(width=1000,
height=800,
xaxis\_showgrid=False,
yaxis\_showgrid=False,
paper\_bgcolor='rgba(0,0,0,0)',
plot\_bgcolor='rgba(0,0,0,0)')