set_global_opts / set_series_opts 参数

pyecharts v1.x set_global_opts / set_series_opts 参数

一句话区分: set_global_opts:全局组件(标题、图例、坐标轴、缩放、工具箱),作用于整张图表 set_series_opts:系列数据样式(线条、标签、标记点/线、图形填充),作用于所有 series 系列

复制代码
from pyecharts import options as opts

一、set_global_opts 全部入参

复制代码
def set_global_opts(
    title_opts: TitleOpts = None,                # 标题+副标题
    legend_opts: LegendOpts = None,              # 图例
    tooltip_opts: TooltipOpts = None,           # 全局提示框
    toolbox_opts: ToolboxOpts = None,           # 右上角工具箱(下载、刷新、数据视图)
    xaxis_opts: AxisOpts = None,                 # X轴配置(直角坐标系图表:Line/Bar)
    yaxis_opts: AxisOpts = None,                 # Y轴配置
    datazoom_opts: List[DataZoomOpts] = None,    # 区域缩放,可传多个
    visualmap_opts: VisualMapOpts = None,        # 视觉映射(颜色渐变,热力图/地图)
    axispointer_opts: AxisPointerOpts = None,    # 坐标轴指示器
    graphic_opts: List[GraphicOpts] = None,      # 自定义图形、文字、图片
    brush_opts: BrushOpts = None,                # 框选刷选组件
    polar_opts: PolarOpts = None,                # 极坐标系配置(雷达图)
    radiusaxis_opts: RadiusAxisOpts = None,      # 极坐标径向轴
    angleaxis_opts: AngleAxisOpts = None,        # 极坐标角度轴
    singleaxis_opts: SingleAxisOpts = None,      # 单轴(一维散点)
    calendar_opts: CalendarOpts = None,           # 日历图配置
    geo_opts: GeoOpts = None,                    # Geo地理坐标系
    map3d_opts: Map3DOpts = None,                # 3D地图
    globe_opts: GlobeOpts = None,                # 地球3D
    parallel_opts: ParallelOpts = None,          # 平行坐标系
    parallelaxis_opts: List[ParallelAxisOpts] = None,
    animation_opts: AnimationOpts = None,        # 全局动画
    # 还有部分小众图表专属参数,一般极少用到
    **kwargs
):

常用子配置类(传参示例)

  • title_opts=opts.TitleOpts(title="主标题", subtitle="副标题")
  • legend_opts=opts.LegendOpts(pos_top="5%")
  • tooltip_opts=opts.TooltipOpts(trigger="axis")
  • datazoom_opts=[opts.DataZoomOpts(range_start=0, range_end=100)]
  • visualmap_opts=opts.VisualMapOpts(max_=100)

二、set_series_opts 全部入参

对所有 add_yaxis 添加的系列生效;也可以在单独 add_yaxis 里单独指定系列配置,优先级更高

复制代码
def set_series_opts(
    label_opts: LabelOpts = None,                # 数据标签(柱子/折线点上的文字)
    linestyle_opts: LineStyleOpts = None,        # 线条样式(折线、标记线)
    areastyle_opts: AreaStyleOpts = None,        # 填充区域(折线图面积填充)
    itemstyle_opts: ItemStyleOpts = None,        # 图元样式:柱子、扇区、圆点颜色/边框
    markpoint_opts: MarkPointOpts = None,        # 标记点:最大值、最小值、自定义点
    markline_opts: MarkLineOpts = None,          # 标记线:平均线、阈值线
    markarea_opts: MarkAreaOpts = None,          # 标记区域
    effect_opts: EffectOpts = None,              # 涟漪特效(EffectScatter 动态涟漪点)
    tooltip_opts: TooltipOpts = None,            # 系列内提示框(优先级高于全局tooltip)
    splitline_opts: SplitLineOpts = None,        # 分割线
    splitarea_opts: SplitAreaOpts = None,        # 分割区域背景
    axisline_opts: AxisLineOpts = None,
    axistick_opts: AxisTickOpts = None,
    **kwargs
):

常用子配置示例

复制代码
set_series_opts(
    label_opts=opts.LabelOpts(is_show=True, formatter="{c}"),
    markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max")]),
    linestyle_opts=opts.LineStyleOpts(width=2, color="red"),
    itemstyle_opts=opts.ItemStyleOpts(color="#2f4554")
)

三、快速对比

项目 set_global_opts set_series_opts
控制对象 图表全局组件 图表数据系列(series)
典型参数 title、legend、xaxis、datazoom、visualmap label、itemstyle、linestyle、markpoint、markline
作用范围 整张图 所有数据系列

四、最简完整示例

复制代码
from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar()
    .add_xaxis(["A","B","C"])
    .add_yaxis("数据", [5,2,8])
    .set_global_opts(
        title_opts=opts.TitleOpts(title="全局标题"),
        xaxis_opts=opts.AxisOpts(name="X轴"),
        yaxis_opts=opts.AxisOpts(name="Y轴"),
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(is_show=True),
        markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max")])
    )
)
# c.render()

如果你需要,我可以:

  1. 把每个子Opts(TitleOpts、LabelOpts等)内部的所有属性完整列出来;
  2. 或者给你一个可直接复制的配置模板。


补充:常用子Opts完整参数清单(pyecharts v1.x)

只整理日常开发高频的,冷门参数省略。

一、set_global_opts 下属常用配置类

1. TitleOpts 标题

复制代码
opts.TitleOpts(
    title="主标题",
    subtitle="副标题",
    pos_left="center",   # left/center/right 或百分比
    pos_top="5%",
    title_textstyle_opts=opts.TextStyleOpts(color="#333", font_size=16),
    subtitle_textstyle_opts=opts.TextStyleOpts(color="#666", font_size=12),
)

2. LegendOpts 图例

复制代码
opts.LegendOpts(
    is_show=True,
    pos_left="left",
    pos_top="top",
    orient="horizontal", # horizontal横向 / vertical纵向
    textstyle_opts=opts.TextStyleOpts(font_size=12),
)

3. TooltipOpts 全局提示框

复制代码
opts.TooltipOpts(
    is_show=True,
    trigger="axis", # item:单个图形触发;axis:坐标轴触发(折线/柱状常用)
    trigger_on="mousemove",
    formatter="{b}: {c}", # 自定义格式 {a}系列名 {b}类目 {c}数值
    axis_pointer_type="cross", # cross十字 / line直线 / shadow阴影
)

4. AxisOpts 坐标轴(xaxis_opts / yaxis_opts)

复制代码
opts.AxisOpts(
    name="坐标轴名称",
    name_location="middle",
    name_textstyle_opts=opts.TextStyleOpts(),
    is_show=True,
    type_="category", # category类目轴 / value数值轴 / time时间轴 / log对数轴
    boundary_gap=True,
    axisline_opts=opts.AxisLineOpts(), # 轴线
    axistick_opts=opts.AxisTickOpts(), # 刻度
    axislabel_opts=opts.LabelOpts(),  # 轴文字标签
    splitline_opts=opts.SplitLineOpts(is_show=True), # 网格分割线
    splitarea_opts=opts.SplitAreaOpts(), # 分割背景区域
    min_=None,
    max_=None,
)

5. DataZoomOpts 缩放滑块

复制代码
opts.DataZoomOpts(
    type_="slider", # slider滑块 / inside内置(鼠标滚轮)
    range_start=0,
    range_end=100,
    orient="horizontal",
    pos_bottom="5%",
)

6. VisualMapOpts 视觉映射(地图、热力图)

复制代码
opts.VisualMapOpts(
    is_show=True,
    max_=100,
    min_=0,
    range_color=["#e0f7fa","#006064"],
    orient="vertical",
    pos_right="5%",
    pos_top="middle",
)

7. ToolboxOpts 右上角工具箱

复制代码
opts.ToolboxOpts(
    is_show=True,
    feature={
        "saveAsImage": {}, # 下载图片
        "dataView": {},    # 数据视图
        "restore": {},     # 重置
        "dataZoom": {},
    }
)

二、set_series_opts 下属常用配置类

1. LabelOpts 数据标签(柱子/折点文字)

复制代码
opts.LabelOpts(
    is_show=True,
    position="top", # top/bottom/inside/left/right
    formatter="{c}",
    font_size=12,
    color="#000",
    rotate=0,
)

2. ItemStyleOpts 图元样式(柱子、饼扇区、散点圆点)

复制代码
opts.ItemStyleOpts(
    color="auto",
    border_color="#000",
    border_width=1,
    opacity=0.8,
)

3. LineStyleOpts 线条样式(折线、标记线)

复制代码
opts.LineStyleOpts(
    color="#254b9c",
    width=2,
    type_="solid", # solid实线 dashed虚线 dotted点线
    opacity=0.9,
)

4. AreaStyleOpts 区域填充(折线面积图)

复制代码
opts.AreaStyleOpts(
    color="#254b9c",
    opacity=0.3
)

5. MarkPointOpts 标记点(最大/最小值)

复制代码
opts.MarkPointOpts(
    data=[
        opts.MarkPointItem(type_="max", name="最大值"),
        opts.MarkPointItem(type_="min", name="最小值"),
        # 自定义坐标:opts.MarkPointItem(name="自定义", coord=["A", 10])
    ]
)

6. MarkLineOpts 标记线(平均线、阈值线)

复制代码
opts.MarkLineOpts(
    data=[
        opts.MarkLineItem(type_="average", name="平均值"),
        # opts.MarkLineItem(y=60, name="警戒线")
    ]
)

7. MarkAreaOpts 标记区域

复制代码
opts.MarkAreaOpts(
    data=[opts.MarkAreaItem(name="区间", x=("A","B"))]
)

完整可运行模板(折线图示例,全局+系列一起配置)

复制代码
from pyecharts import options as opts
from pyecharts.charts import Line

line = (
    Line()
    .add_xaxis(["周一", "周二", "周三", "周四", "周五"])
    .add_yaxis("销量", [120, 200, 150, 80, 70])
    # ========== 全局配置 ==========
    .set_global_opts(
        title_opts=opts.TitleOpts(title="周销量折线图", subtitle="2026"),
        legend_opts=opts.LegendOpts(pos_top="3%"),
        tooltip_opts=opts.TooltipOpts(trigger="axis"),
        xaxis_opts=opts.AxisOpts(name="星期"),
        yaxis_opts=opts.AxisOpts(name="销量", splitline_opts=opts.SplitLineOpts(is_show=True)),
        datazoom_opts=[opts.DataZoomOpts(type_="inside")]
    )
    # ========== 系列配置 ==========
    .set_series_opts(
        label_opts=opts.LabelOpts(is_show=True, position="top"),
        linestyle_opts=opts.LineStyleOpts(width=2, type_="solid"),
        markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"),opts.MarkPointItem(type_="min")]),
        markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average")])
    )
)
line.render("line_demo.html")

优先级规则(很重要)

  1. add_yaxis(..., series_opts=opts.SeriesOpts(...)) 单独系列配置 > set_series_opts()
  2. set_series_opts() > set_global_opts() 也就是说:单独给某一条曲线设置的样式,优先级最高,会覆盖 set_series_opts 全局系列配置。

接下来想练哪个方向?

  • 饼图/柱状图/地图 专属配置示例
  • formatter 复杂字符串模板(带换行、多值)
  • 主题、颜色、异步JS事件
  • 或者直接封装一个通用pyecharts绘图函数?
相关推荐
the3clipse1 天前
MPC-HC 下载安装与最佳配置教程:免费开源、轻量无广告、支持 4K 硬解的 Windows 播放器
windows·播放器·安装教程·硬件加速·mpc-hc·字幕设置·lav filters
独隅1 天前
WebStorm Windows 版 React / Next.js 实战替换指南
javascript·windows·webstorm
陈工大模型1 天前
2026年11月最新免费解压软件横评:7-Zip 、 Win解压缩名列前茅
windows·软件工程·7-zip·压缩软件
中二骚年2 天前
Windows 安全中心 / 防火墙故障,calc和Microsoft Store,终端(管理员)无法正常打开。 原因 + 修复方案
windows·安全·microsoft
万联WANFLOW2 天前
CVE-2026-98432 等漏洞自查:AI 查出的 Linux、Windows 漏洞,运维怎么确认受不受影响
linux·运维·windows·网络安全
AlanAshley2 天前
Windows 中导致延迟的软硬件及协议比重
windows
yuezhilangniao2 天前
win10中文 以及 PowerShell 开发日常
windows·powershell
共享家95273 天前
408 操作系统第一章
服务器·数据库·windows
Sakura_j_h_3 天前
GitHub Actions 打包 Windows exe:中文编码与产物上传
windows·ci/cd·打包发布·github·pyinstaller·github actions
xixiaoyunya3 天前
搭一个浏览器即用的二进制文件分发点:目录规范与权限边界实践
网络·windows