欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

pyecharts图形初始化与通用配置项 新版详解!

程序员文章站 2022-04-02 10:53:40
def set_global_opts( self, title_opts: types.Title = opts.TitleOpts(), legend_opts: types.Legend = opts.LegendOpts(), tooltip_opts: types.Tooltip = None, toolbox_opts: types.Toolbox = None, brush_opts: types....

总体配置项

全局配置项可通过set_global_options方法设置

初识规模配置组件
注意:配置项原则应该配合图表类型章节中的示例阅读。
pyecharts图形初始化与通用配置项 新版详解!

set_global_opts 的 方法定义:

def set_global_opts(
        self,
        title_opts: types.Title = opts.TitleOpts(),
        legend_opts: types.Legend = opts.LegendOpts(),
        tooltip_opts: types.Tooltip = None,
        toolbox_opts: types.Toolbox = None,
        brush_opts: types.Brush = None,
        xaxis_opts: types.Axis = None,
        yaxis_opts: types.Axis = None,
        visualmap_opts: types.VisualMap = None,
        datazoom_opts: types.DataZoom = None,
        graphic_opts: types.Graphic = None,
        axispointer_opts: types.AxisPointer = None,
    ):
	
def set_global_opts(
    self,
    title_opts: types.Title = opts.TitleOpts(),
    legend_opts: types.Legend = opts.LegendOpts(),
    tooltip_opts: types.Tooltip = None,
    toolbox_opts: types.Toolbox = None,
    brush_opts: types.Brush = None,
    xaxis_opts: types.Axis = None,
    yaxis_opts: types.Axis = None,
    visualmap_opts: types.VisualMap = None,
    datazoom_opts: types.DataZoom = None,
    graphic_opts: types.Graphic = None,
    axispointer_opts: types.AxisPointer = None,
):
    if tooltip_opts is None:
        tooltip_opts = opts.TooltipOpts(
            formatter=ToolTipFormatterType.get(self._chart_type, None)
        )
    self.options.update(
        title=title_opts,
        toolbox=toolbox_opts,
        tooltip=tooltip_opts,
        visualMap=visualmap_opts,
        dataZoom=datazoom_opts,
        graphic=graphic_opts,
        axisPointer=axispointer_opts,
    )

    if brush_opts is not None:
        self.options.update(brush=brush_opts)

    if isinstance(legend_opts, opts.LegendOpts):
        legend_opts = legend_opts.opts
    for _s in self.options["legend"]:
        _s.update(legend_opts)

    if xaxis_opts and self.options.get("xAxis", None):
        if isinstance(xaxis_opts, opts.AxisOpts):
            xaxis_opts = xaxis_opts.opts
        self.options["xAxis"][0].update(xaxis_opts)

    if yaxis_opts and self.options.get("yAxis", None):
        if isinstance(yaxis_opts, opts.AxisOpts):
            yaxis_opts = yaxis_opts.opts
        self.options["yAxis"][0].update(yaxis_opts)

    return self

set_global_opts中常用的类

1、TitleOpts 标题配置项

跟主标题文本相关

import pyecharts.options as opts
.set_global_opts(
	title_opts = opts.TitleOpts(
		title=“我来自安阳师范”
	),
	#看情况添加其他类
)
class TitleOpts(
    # 主标题文本,支持使用 \n 换行。
    title: Optional[str] = None,

    # 主标题跳转 URL 链接
    title_link: Optional[str] = None,

    # 主标题跳转链接方式
    # 默认值是: blank
    # 可选参数: 'self', 'blank'
    # 'self' 当前窗口打开; 'blank' 新窗口打开
    title_target: Optional[str] = None,

    # 副标题文本,支持使用 \n 换行。
    subtitle: Optional[str] = None,

    # 副标题跳转 URL 链接
    subtitle_link: Optional[str] = None,

    # 副标题跳转链接方式
    # 默认值是: blank
    # 可选参数: 'self', 'blank'
    # 'self' 当前窗口打开; 'blank' 新窗口打开
    subtitle_target: Optional[str] = None,

    # title 组件离容器左侧的距离。
    # left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,
    # 也可以是 'left', 'center', 'right'。
    # 如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。
    pos_left: Optional[str] = None,

    # title 组件离容器右侧的距离。
    # right 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。
    pos_right: Optional[str] = None,

    # title 组件离容器上侧的距离。
    # top 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,
    # 也可以是 'top', 'middle', 'bottom'。
    # 如果 top 的值为'top', 'middle', 'bottom',组件会根据相应的位置自动对齐。
    pos_top: Optional[str] = None,

    # title 组件离容器下侧的距离。
    # bottom 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。
    pos_bottom: Optional[str] = None,

    # 标题内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距。
    # // 设置内边距为 5
    # padding: 5
    # // 设置上下的内边距为 5,左右的内边距为 10
    # padding: [5, 10]
    # // 分别设置四个方向的内边距
    # padding: [
    #     5,  // 上
    #     10, // 右
    #     5,  // 下
    #     10, // 左
    # ]
    padding: Union[Sequence, Numeric] = 5,

    # 主副标题之间的间距。
    item_gap: Numeric = 10,

    # 主标题字体样式配置项,参考 `series_options.TextStyleOpts`
    title_textstyle_opts: Union[TextStyleOpts, dict, None] = None,

    # 副标题字体样式配置项,参考 `series_options.TextStyleOpts`
    subtitle_textstyle_opts: Union[TextStyleOpts, dict, None] = None,
)

2、TooltipOpts:提示框配置项

散点图,饼图等无类目轴的图表中常会鼠标经过触发提示框

class TooltipOpts(
    # 是否显示提示框组件,包括提示框浮层和 axisPointer。
    is_show: bool = True,

    # 触发类型。可选:
    # 'item': 数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用。
    # 'axis': 坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用。
    # 'none': 什么都不触发
    trigger: str = "item",

    # 提示框触发的条件,可选:
    # 'mousemove': 鼠标移动时触发。
    # 'click': 鼠标点击时触发。
    # 'mousemove|click': 同时鼠标移动和点击时触发。
    # 'none': 不在 'mousemove' 或 'click' 时触发,
    trigger_on: str = "mousemove|click",

    # 指示器类型。可选
    # 'line':直线指示器
    # 'shadow':阴影指示器
    # 'none':无指示器
    # 'cross':十字准星指示器。其实是种简写,表示启用两个正交的轴的 axisPointer。
    axis_pointer_type: str = "line",

    # 是否显示提示框浮层,默认显示。
    # 只需 tooltip 触发事件或显示 axisPointer 而不需要显示内容时可配置该项为 false。
    is_show_content: bool = True,

    # 是否永远显示提示框内容,
    # 默认情况下在移出可触发提示框区域后一定时间后隐藏,设置为 true 可以保证一直显示提示框内容。
    is_always_show_content: bool = False,

    # 浮层显示的延迟,单位为 ms,默认没有延迟,也不建议设置。
    show_delay: Numeric = 0,

    # 浮层隐藏的延迟,单位为 ms,在 alwaysShowContent 为 true 的时候无效。
    hide_delay: Numeric = 100,

    # 提示框浮层的位置,默认不设置时位置会跟随鼠标的位置。
    # 1、通过数组配置:
    # 绝对位置,相对于容器左侧 10px, 上侧 10 px ===> position: [10, 10]
    # 相对位置,放置在容器正中间 ===> position: ['50%', '50%']
    # 2、通过回调函数配置
    # 3、固定参数配置:'inside','top','left','right','bottom'
    position: Union[str, Sequence, JSFunc] = None,

    # 标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 \n 换行。
    # 字符串模板 模板变量有:
    # {a}:系列名。
    # {b}:数据名。
    # {c}:数据值。
    # {@xxx}:数据中名为 'xxx' 的维度的值,如 {@product} 表示名为 'product'` 的维度的值。
    # {@[n]}:数据中维度 n 的值,如{@[3]}` 表示维度 3 的值,从 0 开始计数。
    # 示例:formatter: '{b}: {@score}'
    # 
    # 回调函数,回调函数格式:
    # (params: Object|Array) => string
    # 参数 params 是 formatter 需要的单个数据集。格式如下:
    # {
    #    componentType: 'series',
    #    // 系列类型
    #    seriesType: string,
    #    // 系列在传入的 option.series 中的 index
    #    seriesIndex: number,
    #    // 系列名称
    #    seriesName: string,
    #    // 数据名,类目名
    #    name: string,
    #    // 数据在传入的 data 数组中的 index
    #    dataIndex: number,
    #    // 传入的原始数据项
    #    data: Object,
    #    // 传入的数据值
    #    value: number|Array,
    #    // 数据图形的颜色
    #    color: string,
    # }
    formatter: Optional[str] = None,

    # 提示框浮层的背景颜色。
    background_color: Optional[str] = None,

    # 提示框浮层的边框颜色。
    border_color: Optional[str] = None,

    # 提示框浮层的边框宽。
    border_width: Numeric = 0,

    # 文字样式配置项,参考 `series_options.TextStyleOpts`
    textstyle_opts: TextStyleOpts = TextStyleOpts(font_size=14),
)

3、AxisOpts:坐标轴配置项

.set_global_opts(
	yaxis_opts=opts.AxisOpts(
	#选坐标轴
            min_=0.3,
            max_=0.45,
            splitline_opts=opts.SplitLineOpts(is_show=True) 
        )
class AxisOpts(
    # 坐标轴类型。可选:
    # 'value': 数值轴,适用于连续数据。
    # 'category': 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据。
    # 'time': 时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,
    # 例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。
    # 'log' 对数轴。适用于对数数据。
    type_: Optional[str] = None,

    # 坐标轴名称。
    name: Optional[str] = None,

    # 是否显示 x 轴。
    is_show: bool = True,

    # 只在数值轴中(type: 'value')有效。
    # 是否是脱离 0 值比例。设置成 true 后坐标刻度不会强制包含零刻度。在双数值轴的散点图中比较有用。
    # 在设置 min 和 max 之后该配置项无效。
    is_scale: bool = False,

    # 是否反向坐标轴。
    is_inverse: bool = False,

    # 坐标轴名称显示位置。可选:
    # 'start', 'middle' 或者 'center','end'
    name_location: str = "end",

    # 坐标轴名称与轴线之间的距离。
    name_gap: Numeric = 15,

    # 坐标轴名字旋转,角度值。
    name_rotate: Optional[Numeric] = None,

    # 强制设置坐标轴分割间隔。
    # 因为 splitNumber 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果,
    # 这时候可以使用 interval 配合 min、max 强制设定刻度划分,一般不建议使用。
    # 无法在类目轴中使用。在时间轴(type: 'time')中需要传时间戳,在对数轴(type: 'log')中需要传指数值。
    interval: Optional[Numeric] = None,

    # x 轴所在的 grid 的索引,默认位于第一个 grid。
    grid_index: Numeric = 0,

    # x 轴的位置。可选:
    # 'top', 'bottom'
    # 默认 grid 中的第一个 x 轴在 grid 的下方('bottom'),第二个 x 轴视第一个 x 轴的位置放在另一侧。
    position: Optional[str] = None,

    # Y 轴相对于默认位置的偏移,在相同的 position 上有多个 Y 轴的时候有用。
    offset: Numeric = 0,

    # 坐标轴的分割段数,需要注意的是这个分割段数只是个预估值,最后实际显示的段数会在这个基础上根据分割后坐标轴刻度显示的易读程度作调整。 
    # 默认值是 5
    split_number: Numeric = 5,

    # 坐标轴两边留白策略,类目轴和非类目轴的设置和表现不一样。
    # 类目轴中 boundaryGap 可以配置为 true 和 false。默认为 true,这时候刻度只是作为分隔线,
    # 标签和数据点都会在两个刻度之间的带(band)中间。
    # 非类目轴,包括时间,数值,对数轴,boundaryGap是一个两个值的数组,分别表示数据最小值和最大值的延伸范围
    # 可以直接设置数值或者相对的百分比,在设置 min 和 max 后无效。 示例:boundaryGap: ['20%', '20%']
    boundary_gap: Union[str, bool, None] = None,

    # 坐标轴刻度最小值。
    # 可以设置成特殊值 'dataMin',此时取数据在该轴上的最小值作为最小刻度。
    # 不设置时会自动计算最小值保证坐标轴刻度的均匀分布。
    # 在类目轴中,也可以设置为类目的序数(如类目轴 data: ['类A', '类B', '类C'] 中,序数 2 表示 '类C'。
    # 也可以设置为负数,如 -3)。
    min_: Union[Numeric, str, None] = None,

    # 坐标轴刻度最大值。
    # 可以设置成特殊值 'dataMax',此时取数据在该轴上的最大值作为最大刻度。
    # 不设置时会自动计算最大值保证坐标轴刻度的均匀分布。
    # 在类目轴中,也可以设置为类目的序数(如类目轴 data: ['类A', '类B', '类C'] 中,序数 2 表示 '类C'。
    # 也可以设置为负数,如 -3)。
    max_: Union[Numeric, str, None] = None,

    # 自动计算的坐标轴最小间隔大小。
    # 例如可以设置成1保证坐标轴分割刻度显示成整数。
    # 默认值是 0
    min_interval: Numeric = 0,

    # 自动计算的坐标轴最大间隔大小。
    # 例如,在时间轴((type: 'time'))可以设置成 3600 * 24 * 1000 保证坐标轴分割刻度最大为一天。
    max_interval: Optional[Numeric] = None,

    # 坐标轴刻度线配置项,参考 `global_options.AxisLineOpts`
    axisline_opts: Union[AxisLineOpts, dict, None] = None,

    # 坐标轴刻度配置项,参考 `global_options.AxisTickOpts`
    axistick_opts: Union[AxisTickOpts, dict, None] = None,

    # 坐标轴标签配置项,参考 `series_options.LabelOpts`
    axislabel_opts: Union[LabelOpts, dict, None] = None,

    # 坐标轴指示器配置项,参考 `global_options.AxisPointerOpts`
    axispointer_opts: Union[AxisPointerOpts, dict, None] = None,

    # 坐标轴名称的文字样式,参考 `series_options.TextStyleOpts`
    name_textstyle_opts: Union[TextStyleOpts, dict, None] = None,

    # 分割区域配置项,参考 `series_options.SplitAreaOpts`
    splitarea_opts: Union[SplitAreaOpts, dict, None] = None,

    # 分割线配置项,参考 `series_options.SplitLineOpts`
    splitline_opts: Union[SplitLineOpts, dict] = SplitLineOpts(),

    # 坐标轴次刻度线相关设置,参考 `series_options.MinorTickOpts`
    minor_tick_opts: Union[MinorTickOpts, dict, None] = None,

    # 坐标轴在 grid 区域中的次分隔线。次分割线会对齐次刻度线 minorTick,参考 `series_options.MinorSplitLineOpts`
    minor_split_line_opts: Union[MinorSplitLineOpts, dict, None] = None,
)

本文地址:https://blog.csdn.net/qq_43527959/article/details/110872389

相关标签: python