Plotly 交互可视化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_58144761/plotly-viz。
技能介绍
要解决什么问题
Notebook 或脚本里若只用 matplotlib 静态图,很难在探索阶段做缩放、悬停、框选;而直接查 Plotly 文档又要在 plotly.express(px) 与 plotly.graph_objects(go) 之间反复试错,还要记导出、动画轴范围、kaleido 等边角问题。本技能把「选哪种图、用哪层 API、怎么收尾导出」收成一条可执行的流程。
技能如何工作
核心思路是 按数据语义选图,再按控制粒度选 API:
- 快速路径:
px.histogram()、px.scatter()、px.bar()、px.line()等覆盖分布、对比、关系、占比、地理与 3D;时间序列可用fig.update_layout(xaxis_rangeslider_visible=True)加范围滑块。 - 精细控制:需要多 trace、双 Y 轴、注释与自定义色标时,走
go与fig.update_layout。 - 一致样式:内置模板如
plotly_white、plotly_dark、ggplot2、seaborn、presentation,便于报告与演示统一观感。 - 多图与动画:同一图叠多条 trace,或子图布局;动画 scatter 需固定
range_x/range_y,必要时用animation_group与帧时长配置,避免轴跳动。 - 导出与排错:脚本里优先
fig.write_html();静态图依赖可选的 kaleido;大图可用include_plotlyjs='cdn'或 SVG,超大量散点考虑降采样或render_mode='webgl'。
技能内还指向 scripts/ 示例与 references/ 下的模板、配色与高级图说明,便于对照改参。
适用边界与注意点
- 依赖 plotly;数据处理通常配合 pandas DataFrame,字典数据源也有常见模式说明。
- 静态位图导出不是默认开箱即用,未装 kaleido 时会遇到明确报错,需按技能中的 Troubleshooting 处理。
- 动画与超大数据集若不做范围锁定或聚合,容易出现空白图、轴乱跳或 HTML 体积过大;技能强调的这些约束应在生产图之前先落实。
使用场景
- 在 Jupyter 里对清洗后的 DataFrame 做分布与离群点检查,需要直方图、箱线图并支持悬停查看样本值
- 业务指标周报要在浏览器里分享可缩放折线图,并给时间轴加 range slider 方便回看区间
- 多类别对比汇报要用分组柱状图或热力图,且全文图表统一套用 plotly_white 或 ggplot2 模板
- 地理维度分析要把区域指标画成 choropleth 或 scatter_geo,并导出 HTML 给非 Python 同事查看
适合人员
- 用 pandas 做探索性分析、希望在同一数据集上快速切换散点/折线/分布图的数据分析师
- 要把模型特征关系做成可交互图嵌入内部分享页、并处理万级点渲染的机器学习工程师
- 撰写技术报告或演示稿、需要子图布局、双 Y 轴与注释且风格与模板一致的作者
- 负责运营或产品数据看板原型、在 plotly_dark 主题下做多 trace 对比图的数据可视化从业者