CodeGym /Java 课程 /Python SELF ZH /用 Plotly 库进行交互式图表创建动态报告简介

用 Plotly 库进行交互式图表创建动态报告简介

Python SELF ZH
第 42 级 , 课程 2
可用

1. 认识 Plotly

交互式可视化简介

欢迎来到力量的黑暗面!今天我们将扩展数据可视化技能,使用 Plotly 库加入一些互动性。

想象一下,你举办了一场派对,而你的静态图表就是已经讨论过一切的客人。它们很有用,但你渴望生动的对话。这个时候,Plotly 出场了,让你的图表栩栩如生,能够响应甚至娱乐你。使用 Plotly,你可以缩放、平移并与数据交互,使分析更加深入与直观。

什么是 Plotly 以及为什么需要它

Plotly 是一个功能强大的高级交互图表库。它特别适合那些希望图表更加直观、易懂的人。Plotly 被广泛应用于不同领域:从商业到科学研究,它在网页浏览器中提供强大的数据可视化工具。

在实践中,当你需要向关注细节的领导展示数据时,或者想创建一个交互式分析仪表板时,它非常有用。例如,在营销中,交互图表可以更轻松地分析客户群,而在科学中则可以帮助研究实验数据。

Matplotlib 与 Plotly 的比较

现在我们来看看 Plotly 与 Matplotlib 的区别。Matplotlib 是一个非常适合创建静态和打印图表的工具,适合需要严谨且可控的可视化场景。然而,在注重交互性的重要时代,Plotly 承担起了领导角色。与 Matplotlib 不同,Plotly 能轻松创建可嵌入到网页中的交互式图表。

这就像艺术画册与魔法书之间的对比。在画册里,你可以欣赏页面和图片,而在魔法书中,翻开每一页都会自己为你讲述故事,并在你眼前活跃起来。(这份讲座撰写于电影发明之前 :)

安装和配置 Plotly

让我们动手配置好用 Plotly 操作的环境。

安装 Plotly: 像大多数 Python 的美好东西一样,Plotly 可以通过 pip 安装。打开命令行或终端运行以下命令:

Bash

pip install plotly

导入库: 安装后,为了开始绘图,我们需要导入必要的库:

Python

import plotly.express as px
import plotly.graph_objects as go

其中 plotly.express 是一个简单的 API,用于快速创建图表,而 plotly.graph_objects 是个更加灵活的选择,适合复杂的可视化。

2. 第一个交互式图表

创建第一个交互式图表

现在,我们已经准备好所有必要的东西,让我们创建第一个交互式图表。从一个简单的例子开始——折线图。

Python

import plotly.express as px
import pandas as pd

# 示例数据
data = pd.DataFrame({
    "日期": pd.date_range(start="2023-01-01", periods=7),
    "销售额": [150, 230, 270, 300, 190, 210, 280]
})

# 创建交互式图表
fig = px.line(data, x="日期", y="销售额", title="一周销售额")
fig.show()

这段代码将创建一个折线图,你可以对其进行探索、缩放和平移。借助交互性,你可以更好地专注于你感兴趣的数据区域。

增强交互功能

Plotly 允许轻松添加交互元素。例如,你可以启用数据选择、缩放和平移功能:

Python

fig.update_layout(
    xaxis=dict(rangeslider=dict(visible=True)),
    title=dict(x=0.5)  # 标题居中
)
fig.show()

在这里,我们启用了范围滑块(rangeslider)并将标题居中。这使你的图表更加灵活且用户友好。

3. 创建不同类型的交互式图表

Plotly 支持多种交互式图表。以下是其中的一些例子:

散点图

散点图有助于分析两个变量之间的相关性。

Python

import plotly.express as px

# 图表数据
data = {
    "时间": [1, 2, 3, 4, 5, 6],
    "温度": [30, 32, 34, 33, 31, 29]
}

fig = px.scatter(data, x="时间", y="温度", title="随时间变化的温度")
fig.show()

直方图

直方图用于分析数据分布并识别异常。

Python

import plotly.express as px

# 图表数据
data = {
    "分数": [3, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 9, 10]
}

fig = px.histogram(data, x="分数", title="分数分布")
fig.show()

饼图

饼图用于展示类别的百分比。

Python

import plotly.express as px

# 图表数据
data = {
    "类别": ["A", "B", "C", "D"],
    "比例": [20, 30, 25, 25]
}

fig = px.pie(data, names="类别", values="比例", title="类别比例")
fig.show()

实际项目的应用

Plotly 在不同领域有广泛的应用。以下是几个例子。

  • 商业分析: Plotly 接口经常用于创建交互式仪表板,用户可以通过更改过滤器和分析参数动态探索数据。
  • 科学研究: 研究人员使用 Plotly 来可视化复杂数据集,从而更轻松地识别数据中的规律和异常。

你还可以将 Plotly 图表集成到 Jupyter Notebook、Web 应用程序甚至 A/B 测试中,使研究更具可访问性与可视化效果。

如果你想进一步学习,一定要查看 Plotly 官方文档,那里有大量的实例和创意。现在开始创建你的交互式杰作吧!🚀

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION