[ PROMPT_NODE_27016 ]
plotly-express
[ SKILL_DOCUMENTATION ]
# Plotly Express - 高级 API
Plotly Express (px) 是一个用于创建数据可视化的高级接口,只需极少的代码(通常 1-5 行)。
## 安装
bash
uv pip install plotly
## 主要优势
- 针对常见图表类型的简洁语法
- 自动颜色编码和图例
- 与 pandas DataFrame 无缝集成
- 智能的布局和样式默认设置
- 返回 graph_objects.Figure 对象以便进一步自定义
## 基本使用模式
python
import plotly.express as px
import pandas as pd
# 大多数函数遵循此模式
fig = px.chart_type(
data_frame=df,
x="column_x",
y="column_y",
color="category_column", # 按类别自动着色
size="size_column", # 按值设置大小
title="图表标题"
)
fig.show()
## 40+ 种图表类型
### 基础图表
- `px.scatter()` - 散点图(可选趋势线)
- `px.line()` - 时间序列折线图
- `px.bar()` - 条形图(垂直/水平)
- `px.area()` - 面积图
- `px.pie()` - 饼图
### 统计图表
- `px.histogram()` - 自动分箱的直方图
- `px.box()` - 分布箱线图
- `px.violin()` - 小提琴图
- `px.strip()` - 条带图
- `px.ecdf()` - 经验累积分布函数图
### 地图
- `px.scatter_geo()` - 地理散点图
- `px.choropleth()` - 等值区域图
- `px.scatter_mapbox()` - Mapbox 散点图
- `px.density_mapbox()` - 地图密度热力图
### 专业图表
- `px.sunburst()` - 层级旭日图
- `px.treemap()` - 树状图
- `px.funnel()` - 漏斗图
- `px.parallel_coordinates()` - 平行坐标图
- `px.scatter_matrix()` - 散点矩阵 (SPLOM)
- `px.density_heatmap()` - 2D 密度热力图
- `px.density_contour()` - 密度等高线图
### 3D 图表
- `px.scatter_3d()` - 3D 散点图
- `px.line_3d()` - 3D 折线图
## 常用参数
所有 Plotly Express 函数均支持以下样式参数:
python
fig = px.scatter(
df, x="x", y="y",
# 尺寸
width=800,
height=600,
# 标签
title="图表标题",
labels={"x": "X 轴", "y": "Y 轴"},
# 颜色
color="category",
color_discrete_map={"A": "red", "B": "blue"},
color_continuous_scale="Viridis",
# 排序
category_orders={"category": ["A", "B", "C"]},
# 主题
template="plotly_dark" # 或 "simple_white", "seaborn", "ggplot2"
)
## 数据格式
Plotly Express 支持:
- **长格式数据** (tidy): One