1. 使用交互式图表的基础
先从最简单的开始——创建一个基础的交互式图表。我们来创建一个散点图,展示你虚拟花园里的胡萝卜生长情况。是的,就连程序员也有着园艺梦想!
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 中,可以在提示框中显示详细数据,当你将鼠标移动到图表元素上时就会出现。
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 支持多种配色方案,可以用来提升视觉效果。
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 提供了许多交互功能,比如缩放、平移和标注。例如,可以轻松添加缩放和比例调整,如下图所示:
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. 交互式图表的应用示例
交互式图表非常适合可视化大数据集。比如,假设你有一个包含一年的商店销售记录的庞大数据集。交互式功能不仅让你能看到整体趋势,还能深入探索某一天的具体信息,发现高峰和低谷,提升理解和决策能力。
我们来创建一个复杂点的例子——假设我们有一整年的温度数据,并想将其可视化:
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)的明星。别忘了多实验,多尝试新方法——伟大的想法就是这样诞生的!
GO TO FULL VERSION