1. 简介
Plotly 是一个基于网页端的交互式数据可视化工具,可实现高效而美观的网页交互式可视化呈现。Plotly 其主要特点是简单易用、支持多种语言,而且绘制出来的图形可以高度交互化,这对于数据分析人员、数据可视化爱好者等具有重要的价值。
本文将介绍如何使用 Plotly 绘制常见的五种动态交互式图表:
散点图
饼图
直方图
折线图
箱型图
2. 环境要求
在进行本文的实验前,请确保已经安装了 Plotly 和相关的 Python 库。
pip install plotly==5.1.0
pip install pandas==1.3.3
pip install numpy==1.21.2
3. 绘制散点图
3.1 数据准备
我们需要准备一些随机数据,并对应一些标签。例如,我们有 100 个数据点,每个数据点有两个属性,以及表示这个数据点是哪个类别的标签。
import pandas as pd
import numpy as np
np.random.seed(42)
data = pd.DataFrame(dict(
x=np.random.randn(100)*2+1,
y=np.random.randn(100)+0,
label=np.random.choice(['A', 'B', 'C'], 100)
))
3.2 绘图过程
我们使用 Plotly 中的 scatter() 函数来绘制散点图。散点图通常用于表示两个变量之间的关系。我们可以通过选择不同的颜色来表示每个数据点的不同类别。
import plotly.express as px
fig = px.scatter(data, x="x", y="y", color="label",
title="散点图")
fig.show()
3.3 效果展示
运行上述代码,我们可以得到以下散点图。
在 Plotly 中,你可以通过鼠标滚轮来缩放图像;通过拖动图像来平移图像;通过鼠标悬停在数据点上来查看数据点的详细信息。
4. 绘制饼图
4.1 数据准备
我们需要准备一些数据来表示饼图的切片大小。例如,我们有四个不同的类别和对应的数量。
data = pd.DataFrame(dict(
labels=['A', 'B', 'C', 'D'],
values=[10, 20, 30, 40]
))
4.2 绘图过程
我们使用 Plotly 中的 pie() 函数来绘制饼图。饼图通常用于表示数据的相对数量占比。
fig = px.pie(data, values='values', names='labels',
title='饼图')
fig.show()
4.3 效果展示
运行上述代码,我们可以得到以下饼图。
在 Plotly 中,你可以通过鼠标悬停在饼图上来查看饼图节点的详细信息;通过单击饼图节点来突出饼图的某一部分。
5. 绘制直方图
5.1 数据准备
我们需要准备一些随机数据,用于绘制直方图。例如,我们有 1000 个正态分布的数据。
data = pd.DataFrame(dict(
x=np.random.randn(1000)
))
5.2 绘图过程
我们使用 Plotly 中的 histogram() 函数来绘制直方图。直方图通常用于表示数据在不同区间内的出现次数。
fig = px.histogram(data, x='x', nbins=20,
title='直方图')
fig.show()
5.3 效果展示
运行上述代码,我们可以得到以下直方图。
在 Plotly 中,你可以通过鼠标滚轮来缩放图像;通过拖动图像来平移图像;通过鼠标悬停在数据点上来查看数据点的详细信息。
6. 绘制折线图
6.1 数据准备
我们需要准备一些数据,用于绘制折线图。例如,我们有两条正弦曲线。
data = pd.DataFrame(dict(
x=np.linspace(0, 10, 100),
y1=np.sin(np.linspace(0, 10, 100)),
y2=np.sin(np.linspace(0, 10, 100)+np.pi/2)
))
6.2 绘图过程
我们使用 Plotly 中的 line() 函数来绘制折线图。折线图通常用于表示数据随着时间、数据组或其他顺序变化的情况。
fig = px.line(data, x='x', y=['y1', 'y2'],
title='折线图')
fig.show()
6.3 效果展示
运行上述代码,我们可以得到以下折线图。
在 Plotly 中,你可以通过鼠标滚轮来缩放图像;通过拖动图像来平移图像;通过鼠标悬停在数据点上来查看数据点的详细信息。
7. 绘制箱型图
7.1 数据准备
我们需要准备一些数据,用于绘制箱型图。例如,我们有三个不同类别的数据,每个类别有 100 个随机数。
data = pd.DataFrame(dict(
A=np.random.randn(100),
B=np.random.randn(100)+2,
C=np.random.randn(100)+4
))
7.2 绘图过程
我们使用 Plotly 中的 box() 函数来绘制箱型图。箱型图通常用于表示数据的中位数、四分位数、极差等统计指标。
fig = px.box(data.melt(var_name='类别', value_name='值'),
x='类别', y='值',
title='箱型图')
fig.show()
7.3 效果展示
运行上述代码,我们可以得到以下箱型图。
在 Plotly 中,你可以通过鼠标滚轮来缩放图像;通过拖动图像来平移图像;通过鼠标悬停在数据点上来查看数据点的详细信息。
8. 总结
以上就是使用 Plotly 绘制常见的五种动态交互式图表的方法。Plotly 具有交互性强、作图美观、易于使用等优点,是数据可视化领域不可或缺的工具之一。希望本文能够帮助那些有数据可视化需求的读者更好地了解 Plotly 的使用方法。