CodeGym /课程 /Python SELF ZH /为分析大数据构建交互式图表

为分析大数据构建交互式图表

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

1. 使用交互式图表的基础

先从最简单的开始——创建一个基础的交互式图表。我们来创建一个散点图,展示你虚拟花园里的胡萝卜生长情况。是的,就连程序员也有着园艺梦想!

Python

import plotly.express as px
import pandas as pd

# 简单的 DataFrame 数据
df = pd.DataFrame({
    '天数': [1, 2, 3, 4, 5],
    '胡萝卜增长': [2, 3, 5, 7, 11]
})

# 创建交互式折线图
fig = px.line(df, x='天数', y='胡萝卜增长', title='一周内胡萝卜的增长')
fig.show()

当你运行这段代码时,会打开一个新的浏览器窗口,还能看到一个超酷的交互式图表,你可以放大、缩小,还可以点击点查看它们的值。

现在让我们给它加点互动的魔法吧!

2. 自定义交互功能

Plotly 允许添加悬停提示、配色方案以及更多额外数据到交互式图表中,这让报告变得更加信息丰富且视觉上更吸引人。

自定义悬停提示 (Tooltips)

在 Plotly 中,可以在提示框中显示详细数据,当你将鼠标移动到图表元素上时就会出现。

Python

import plotly.express as px
import pandas as pd

# 简单的 DataFrame 数据
df = pd.DataFrame({
    '天数': [1, 2, 3, 4, 5],
    '胡萝卜增长': [2, 3, 5, 7, 11],
    "农艺师计划": [3, 4, 5, 6, 13]
})

# 创建交互式折线图
fig = px.line(df, x='天数', y='胡萝卜增长', title='一周内胡萝卜的增长', hover_data={"农艺师计划": True})
fig.show()

这里 hover_data={"农艺师计划": True} 是在提示框中添加农艺师的计划数据,这样用户悬停时可以比较实际数据和计划。

自定义配色方案

Plotly 支持多种配色方案,可以用来提升视觉效果。

Python

import plotly.express as px

# 图表数据
data = {
    "类别": ["A", "B", "C", "D"],
    "数值": [10, 20, 30, 40]
}

fig = px.bar(data, x="类别", y="数值", color="类别", title="按类别展示数据")
fig.show()

可以自定义配色方案,让报告更色彩丰富且更易理解。

缩放功能

Plotly 提供了许多交互功能,比如缩放、平移和标注。例如,可以轻松添加缩放和比例调整,如下图所示:

Python

import plotly.graph_objects as go

# 使用胡萝卜的数据,增加交互性
fig = go.Figure(data=go.Scatter(x=df['天数'], y=df['胡萝卜增长'], mode='lines+markers'))

# 设置控制项
fig.update_layout(
    title='一周内胡萝卜的增长',
    xaxis_title='天数',
    yaxis_title='胡萝卜增长 (厘米)',
    hovermode='closest'
)

fig.show()

这个图表让你点击点,提供额外自定义的数据显示。

3. 交互式图表的应用示例

交互式图表非常适合可视化大数据集。比如,假设你有一个包含一年的商店销售记录的庞大数据集。交互式功能不仅让你能看到整体趋势,还能深入探索某一天的具体信息,发现高峰和低谷,提升理解和决策能力。

我们来创建一个复杂点的例子——假设我们有一整年的温度数据,并想将其可视化:

Python

import numpy as np

# 生成温度数据
np.random.seed(0)
x = np.arange(365)
y = np.random.normal(30, 5, 365)  # 平均约30度

fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines', line=dict(color='firebrick')))

fig.update_layout(
    title='一年的温度变化',
    xaxis_title='天数',
    yaxis_title='温度 (°C)'
)

fig.show()

现在你有一个交互式图表,不仅能展示几乎每天的温度变化,还能放大特定时期作详细分析。

自定义你的图表

Plotly 提供了强大的自定义功能,可以让你的图表更吸引人也更有用。你可以更改颜色、添加提示框、图例甚至动画!对于更复杂的场景,你可以深入 Plotly 文档,学习如何在自己的项目中使用这些功能。

可能你会觉得创建交互式图表是个大师级别的任务,但掌握了 Plotly 的技巧后,它会为你打开一个数据可视化的高效世界。使用这些技巧提升你的分析能力,成为工作环境中 Excel(或 Python)的明星。别忘了多实验,多尝试新方法——伟大的想法就是这样诞生的!

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