Plotly Express 基础
快速创建图表
Plotly Express 基础 是 CoddyKit 上的免费 Python Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Python Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Python Academy 课程共包含 4 节课。
什么是 Plotly Express
Plotly Express(导入时使用 px)是一个高级接口,只需很少代码就能创建交互式图表。一次函数调用通常就能生成完整且精美的图形。
Matplotlib 默认是静态的,而 Plotly 图形具有交互性:您可以在浏览器中悬停、缩放和平移。
整洁数据理念
Plotly Express 最适合使用整洁数据:每一行是一个观测值,每一列是一个变量。然后,您可以指定列,将它们映射到图表特征上。
我们可以将整洁数据集表示为字典列表。
rows = [
{'country': 'A', 'year': 2020, 'gdp': 100},
{'country': 'A', 'year': 2021, 'gdp': 110},
{'country': 'B', 'year': 2020, 'gdp': 80},
]
for r in rows:
print(r['country'], r['year'], r['gdp'])您的第一个图表
绘制折线图只需一次调用:px.line(df, x='year', y='gdp', color='country')。color 参数会自动将数据拆分成每个国家一条折线,并创建图例。
无需手动遍历数据系列。
常用 Express 函数
每种图表类型都有对应的函数:
px.line趋势图px.bar类别比较图px.scatter关系图px.histogram分布图px.pie构成整体的各部分
它们都采用相同的列映射方式。
将列映射为视觉编码
Express 的强大之处在于将列映射到视觉通道:x、y、color、size、symbol 和 facet_col。每个参数都接收一个列名。
决定每一列放在哪里,是最主要的设计决策。
encodings = {'x': 'year', 'y': 'gdp', 'color': 'country', 'size': 'population'}
for channel, column in encodings.items():
print(channel.ljust(6), '<-', column)按颜色和大小绘制散点图
一次散点图调用就能显示四个变量:px.scatter(df, x='gdp', y='life', color='continent', size='population')。著名的 Gapminder 气泡图就是用一行代码这样构建的。
Express 会自动选择合理的比例尺,并自动生成图例。
分面
分面会按某个类别,使用 facet_col='region' 或 facet_row,将一个图表拆分成由多个小图组成的网格。每个面板共用坐标尺度,因此便于比较。
面板数量等于类别值的不同取值数量。
regions = ['North', 'South', 'East', 'West']
print('facet_col=region produces', len(regions), 'panels')
for r in regions:
print(' panel:', r)内置示例数据
Plotly 通过 px.data 提供用于练习的数据集,例如 px.data.iris() 和 px.data.gapminder()。它们会返回可直接绘图的整洁数据,因此您无需寻找文件就能进行尝试。
图表对象
每次 Express 调用都会返回一个 Figure 对象。您可以使用 fig.show() 显示它,使用 fig.update_layout(...) 调整它,或者将其保存。Express 会提供一个很好的起始图表,您仍然可以继续完善它。
Express 与图形对象
Express 在底层会构建图形对象(plotly.graph_objects)。需要快速完成任务时使用 Express;当您需要 Express 未提供的精细控制时,再转而使用图形对象。两者生成的交互式输出相同。
Express 中的标题和标签
Express 接受 title 参数和一个用于在显示时重命名列的 labels 字典,例如 labels={'gdp': 'GDP per capita'}。您无需修改底层数据,就能设置易读的名称。
这样既能让数据列保持简洁,又能让图表易于理解。
快速检查
检查您对 Plotly Express 的理解。
回顾
您学到了 Plotly Express 的基础知识:
- 每张图表使用一次函数调用(
px.line、px.bar、px.scatter……) - 数据应当是整洁的,每行对应一条观测记录
- 将列映射到通道:
x、y、color、size、facet_col - 每次调用都会返回一个交互式
Figure,您可以继续自定义它
常见问题解答
「Plotly Express 基础」课时是免费的吗?
是的 — 「Plotly Express 基础」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Python Academy 课程的其余内容,请升级到 CoddyKit PRO。 Python Academy 课程共包含 4 节课。
「Plotly Express 基础」这节课中我会学到什么?
快速创建图表 你通过在浏览器中直接运行的动手代码来练习 Python Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Python Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Python Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「Plotly Express 基础」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Python Academy 课中编写并运行代码吗?
能。每节 Python Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。