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绘图函数?
相关推荐
jack1868910 小时前
百度 AI 搜索实战:从精准获客到智能决策的应用全景
windows
道满科技11 小时前
Function Calling 参数总出错?只修参数就行
linux·windows·python
GHN198788812 小时前
开源小工具按一下空格,什么都看见了
windows
围炉聊科技15 小时前
Windows-MCP 拆解与实测:AI 操作 Windows 这件事——智能体基建系列
windows·llm·dom
面包狗AI4S15 小时前
ChatGPT/Codex Windows:本地桌面端应用离线包安装与免安装启动方法(无需管理员权限)
人工智能·windows·ai·chatgpt
自养Agent16 小时前
MCP Server Boundary Audit Report
linux·服务器·人工智能·windows·大模型·llm
2301_7867566019 小时前
中科院分区表停发后,期刊评价的技术逻辑:从期刊超越指数到多指标选刊方案
java·数据库·windows
是我知白哒21 小时前
下载的图片Windows上无法设置为屏保如何解决
windows
Vex2une21 小时前
获取 PowerToys - 从系统外挂工具到开源效率平台
windows·开源·效率工具·powertoys·fancyzones·command palette·键盘管理器