用途:Plotly 是 Python 交互式可视化库,用于生成可悬停、缩放、平移并可嵌入网页的出版级图表,适合仪表板、探索性分析与科学数据可视化。
主要能力:支持 40 多种图表类型,涵盖基础图(散点、折线、柱状、饼图、面积、气泡)、统计图(直方图、箱线图、小提琴图、分布、误差棒)、科学图(热力图、等高线、三元图、图像显示)、金融图(K线、OHLC、瀑布、漏斗、时间序列)、地图(散点地图、分级统计、密度图)、3D 图(scatter3d、曲面、网格、锥体、体渲染)及旭日图、树图、桑基图、平行坐标、仪表盘等。提供子图与共享轴、模板与配色、字体坐标轴图例边距等样式控制,以及悬停提示、选择、范围滑块、按钮下拉、动画等交互功能。
使用方式:安装命令为 uv pip install plotly。高层 API 使用 Plotly Express:import plotly.express as px,配合 pandas DataFrame 以 1-5 行代码绘图,fig.show() 展示。精细控制使用 Graph Objects:import plotly.graph_objects as go。可用 make_subplots 创建多图布局,px 返回的 Figure 仍可调用 go 方法追加布局与形状。导出交互式 HTML 用 fig.write_html('chart.html'),可加 include_plotlyjs='cdn' 减小体积;导出静态图片需先安装 kaleido(uv pip install kaleido),再用 fig.write_image 输出 png、pdf、svg。构建交互网页应用可结合 Dash(uv pip install dash)。
适用场景:科学数据可视化(散点趋势线、相关性热力图、3D 曲面)、统计分析(分布对比、箱线图、小提琴图)、时间序列与金融图(K线、范围滑块)、多图仪表板,以及 Dash 集成。
限制:静态图片导出依赖 kaleido;动画、悬停等交互需在 HTML 或支持环境中呈现;部分复杂图表类型(如 3D 网格、等值面)仅 Graph Objects 支持。资料未提及收费、价格或平台细节。官方文档见 https://plotly.com/python/,API 参考 https://plotly.com/python-api-reference/,社区论坛 https://community.plotly.com/。