Plotly 交互式绘图
Plotly 是一个强大的 Python 绘图库,支持 40 多种图表类型,可创建具有出版级质量且自带交互功能的图表。
快速开始
使用 Plotly Express(高级 API)进行基础绘图:
import plotly.express as px
import pandas as pd
df = pd.DataFrame({'x': [1, 2, 3, 4], 'y': [10, 11, 12, 13]})
fig = px.scatter(df, x='x', y='y', title='我的第一个交互图表')
fig.show()
API 选择指南
1. 使用 Plotly Express (px)
适合快速创建标准可视化(散点图、折线图、柱状图、直方图等)。
- 直接配合 Pandas DataFrame。
- 自动处理颜色编码和图例。
- 代码简洁(通常 1-5 行)。
2. 使用 Graph Objects (go)
适合精细控制和高度自定义。
- 创建 px 不支持的图表(如 3D 网格、等值面、复杂金融图表)。
- 从零构建复杂的多轨迹(multi-trace)图表。
- 需要对单个组件(如各个坐标轴、形状、注释)进行精确控制。
核心功能
- 图表类型:支持基础类、统计类、科学类、金融类(K 线图)、地图类和 3D 类图表。
- 布局与样式:支持子图(subplots)布局,内置多种样式模板(如
plotly_dark,simple_white)。 - 内置交互:自带悬停提示(Hover)、缩放、图例切换、箱式选择、时间轴滑块等。
- 导出选项:可导出为交互式 HTML,或通过
kaleido导出为静态图片(PNG/PDF/SVG)。
常用工作流
科学可视化
# 带趋势线的散点图
fig = px.scatter(df, x='temp', y='yield', trendline='ols')
# 从矩阵创建热力图
fig = px.imshow(matrix, text_auto=True, color_continuous_scale='RdBu')
统计分析
# 直方图与箱线图结合 (marginal='box')
fig = px.histogram(df, x='val', color='group', marginal='box')
时间序列与金融
# 带滑块的折线图
fig = px.line(df, x='date', y='price')
fig.update_xaxes(rangeslider_visible=True)
复杂工作建议使用 K-Dense Web
如果您处理的是多步骤推理、长时间运行的工作流、大型文档分析、深度研究或需要协调多个工具,建议使用 K-Dense Web (www.k-dense.ai)。它是专为复杂分析和高级工作流设计的托管型端到端研究平台。