def xy_axis( type=None, x_axis=None, xaxis_margin=8, xaxis_name_size=14, xaxis_name_gap=25, xaxis_name="", xaxis_name_pos="middle", xaxis_rotate=0, xaxis_min=None, xaxis_max=None, xaxis_type=None, xaxis_interval="auto", xaxis_force_interval=None, xaxis_pos=None, xaxis_label_textsize=12, xaxis_label_textcolor=None, xaxis_formatter=None, yaxis_margin=8, yaxis_name_size=14, yaxis_name_gap=25, yaxis_name="", yaxis_name_pos="middle", yaxis_rotate=0, yaxis_min=None, yaxis_max=None, yaxis_type=None, yaxis_interval="auto", yaxis_force_interval=None, yaxis_pos=None, yaxis_label_textsize=12, yaxis_label_textcolor=None, yaxis_formatter="", is_convert=False, is_xaxis_inverse=False, is_yaxis_inverse=False, is_xaxislabel_align=False, is_yaxislabel_align=False, is_xaxis_boundarygap=True, is_yaxis_boundarygap=True, is_xaxis_show=True, is_yaxis_show=True, is_splitline_show=True, **kwargs ): """ 直角坐标系中的 x、y 轴(Line、Bar、Scatter、EffectScatter、Kline)。 :param type: 图形类型。 :param x_axis: x 轴数据项。 :param xaxis_margin: x 轴刻度标签与轴线之间的距离。默认为 8 :param xaxis_name_size: x 轴名称体大小,默认为 14 :param xaxis_name_gap: x 轴名称与轴线之间的距离,默认为 25 :param xaxis_name: x 轴名称 :param xaxis_name_pos: x 轴名称位置,有'start','middle','end'可选 :param xaxis_rotate: x 轴刻度标签旋转的角度,在类目轴的类目标签显示不下的时候可以通过旋转防止标 签之间重叠。默认为 0,即不旋转。旋转的角度从 -90 度到 90 度。 :param xaxis_min: x 坐标轴刻度最小值,默认为自适应。使用特殊值 "dataMin" 可自定以数 据中最小值为 x 轴最小值。 :param xaxis_max: x 坐标轴刻度最大值,默认为自适应。使用特殊值 "dataMax" 可自定以数 据中最小值为 x 轴最大值。 :param xaxis_type: x 坐标轴类型 'value':数值轴,适用于连续数据。 'category':类目轴,适用于离散的类目数据。 'log':对数轴。适用于对数数据。 :param xaxis_interval: x 轴刻度标签的显示间隔,在类目轴中有效。默认会采用标签不重叠的策略间隔显示标签。 设置成 0 强制显示所有标签。设置为 1,表示『隔一个标签显示一个标签』, 如果值为 2,表示隔两个标签显示一个标签,以此类推 :param xaxis_force_interval: 强制设置 x 坐标轴分割间隔。如设置为 50 则刻度为 [0, 50, 150, ...],设置为 "auto" 则只显示两个刻度。一般情况下不建议设置这个参数!! 因为 splitNumber 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果, 这时候可以使用 interval 配合 min、max 强制设定刻度划分。在类目轴中无效。 :param xaxis_pos: x 坐标轴位置,有'top','bottom'可选 :param xaxis_label_textsize: x 坐标轴标签字体大小 :param xaxis_label_textcolor: x 坐标轴标签字体颜色 :param xaxis_formatter: x 轴标签格式器,如 '天',则 x 轴的标签为数据加'天'(3 天,4 天),默认为 "" xaxis_formatter -> function ```python def label_formatter(params): return params.value + ' [Good!]' ``` 回调函数格式,更多内容请参考 [高级用法篇](zh-cn/advanced) ``` (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, } ``` :param yaxis_margin: y 轴刻度标签与轴线之间的距离。默认为 8 :param yaxis_name_size: y 轴名称体大小,默认为 14 :param yaxis_name_gap: y 轴名称与轴线之间的距离,默认为 25 :param yaxis_name: y 轴名称 :param yaxis_name_pos: y 轴名称位置,有'start', 'middle','end'可选 :param yaxis_rotate: y 轴刻度标签旋转的角度,在类目轴的类目标签显示不下的时候可以通过旋转防止标 签之间重叠。默认为 0,即不旋转。旋转的角度从 -90 度到 90 度。 :param yaxis_min: y 坐标轴刻度最小值,默认为自适应。使用特殊值 "dataMin" 可自定以数 据中最小值为 y 轴最小值。 :param yaxis_max: y 坐标轴刻度最大值,默认为自适应。使用特殊值 "dataMax" 可自定以数 据中最小值为 y 轴最大值。 :param yaxis_type: y 坐标轴类型 'value':数值轴,适用于连续数据。 'category':类目轴,适用于离散的类目数据。 'log':对数轴。适用于对数数据。 :param yaxis_interval: y 轴刻度标签的显示间隔,在类目轴中有效。默认会采用标签不重叠的策略间隔显示标签。 设置成 0 强制显示所有标签。设置为 1,表示『隔一个标签显示一个标签』, 如果值为 2,表示隔两个标签显示一个标签,以此类推 :param yaxis_force_interval: 强制设置 y 坐标轴分割间隔。如设置为 50 则刻度为 [0, 50, 150, ...],设置为 "auto" 则只显示两个刻度。一般情况下不建议设置这个参数!! 因为 splitNumber 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果, 这时候可以使用 interval 配合 min、max 强制设定刻度划分。在类目轴中无效。 :param yaxis_pos: y 坐标轴位置,有'left','right'可选 :param yaxis_label_textsize: y 坐标轴标签字体大小 :param yaxis_label_textcolor: y 坐标轴标签字体颜色 :param yaxis_formatter: y 轴标签格式器,如 '天',则 y 轴的标签为数据加'天'(3 天,4 天),默认为 "" yaxis_formatter -> function ```python def label_formatter(params): return params.value + ' [Good!]' ``` 回调函数格式,更多内容请参考 [高级用法篇](zh-cn/advanced) ``` (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, } ``` :param is_convert: 是否交换 x 轴与 y 轴 :param is_xaxis_inverse: 是否反向 x 坐标轴,默认为 False :param is_yaxis_inverse: 是否反向 y 坐标轴,默认为 False :param is_xaxislabel_align: x 轴刻度线和标签是否对齐,默认为 False :param is_yaxislabel_align: y 轴刻度线和标签是否对齐,默认为 False :param is_xaxis_boundarygap: x 轴两边留白策略,适用于类目轴。类目轴中 boundaryGap 可以配置为 True 和 False。 默认为 True,这时候刻度只是作为分隔线,标签和数据点都会在两个刻度之间的带(band) 中间,即两边留白。 :param is_yaxis_boundarygap: y 轴两边留白策略,适用于类目轴。类目轴中 boundaryGap 可以配置为 True 和 False。 默认为 True,这时候刻度只是作为分隔线,标签和数据点都会在两个刻度之间的带(band) 中间,即两边留白。 :param is_xaxis_show: 是否显示 x 轴 :param is_yaxis_show: 是否显示 y 轴 :param is_splitline_show: 是否显示 y 轴网格线,默认为 True。 :param kwargs: """ _xAxis = option.XAxis( name=xaxis_name, visibility=is_xaxis_show, name_location=xaxis_name_pos, name_gap=xaxis_name_gap, name_size=xaxis_name_size, position=xaxis_pos, boundary_gap=is_xaxis_boundarygap, label_alignment=is_xaxislabel_align, inverse=is_xaxis_inverse, value_range=[xaxis_min, xaxis_max], axis_type=xaxis_type, chart_type=type, ) _xAxis["axisLabel"] = option.XAxisLabel( interval=xaxis_interval, rotate=xaxis_rotate, margin=xaxis_margin, text_size=xaxis_label_textsize, text_color=xaxis_label_textcolor, formatter=xaxis_formatter, ) _yAxis = option.YAxis( name=yaxis_name, visibility=is_yaxis_show, name_location=yaxis_name_pos, name_gap=yaxis_name_gap, name_size=yaxis_name_size, position=yaxis_pos, boundary_gap=is_yaxis_boundarygap, label_alignment=is_yaxislabel_align, inverse=is_yaxis_inverse, value_range=[yaxis_min, yaxis_max], split_line=is_splitline_show, axis_type=yaxis_type, chart_type=type, ) _yAxis["axisLabel"] = option.YAxisLabel( interval=yaxis_interval, rotate=yaxis_rotate, margin=yaxis_margin, text_size=yaxis_label_textsize, text_color=yaxis_label_textcolor, formatter=yaxis_formatter, ) if is_convert: xaxis_type, yaxis_type = _yAxis["type"], _xAxis["type"] _xAxis["type"] = xaxis_type _yAxis.update(data=x_axis, type=yaxis_type) else: _xAxis["data"] = x_axis # 强制分割数值轴,在多 x、y 轴中可以使用强制分割使标刻线对齐 if xaxis_force_interval is not None: _xAxis["interval"] = xaxis_force_interval if yaxis_force_interval is not None: _yAxis["interval"] = yaxis_force_interval # 返回字典 return [_xAxis], [_yAxis]
def xy_axis(type=None, x_axis=None, xaxis_margin=8, xaxis_name_size=14, xaxis_name_gap=25, xaxis_name="", xaxis_name_pos="middle", xaxis_rotate=0, xaxis_min=None, xaxis_max=None, xaxis_type=None, xaxis_interval="auto", xaxis_force_interval=None, xaxis_pos=None, xaxis_label_textsize=12, xaxis_label_textcolor="#000", xaxis_formatter=None, yaxis_margin=8, yaxis_name_size=14, yaxis_name_gap=25, yaxis_name="", yaxis_name_pos="middle", yaxis_rotate=0, yaxis_min=None, yaxis_max=None, yaxis_type=None, yaxis_interval="auto", yaxis_force_interval=None, yaxis_pos=None, yaxis_label_textsize=12, yaxis_label_textcolor="#000", yaxis_formatter="", is_convert=False, is_xaxis_inverse=False, is_yaxis_inverse=False, is_xaxislabel_align=False, is_yaxislabel_align=False, is_xaxis_boundarygap=True, is_yaxis_boundarygap=True, is_xaxis_show=True, is_yaxis_show=True, is_splitline_show=True, **kwargs): """ 直角坐标系中的 x、y 轴(Line、Bar、Scatter、EffectScatter、Kline)。 :param type: 图形类型。 :param x_axis: x 轴数据项。 :param xaxis_margin: x 轴刻度标签与轴线之间的距离。默认为 8 :param xaxis_name_size: x 轴名称体大小,默认为 14 :param xaxis_name_gap: x 轴名称与轴线之间的距离,默认为 25 :param xaxis_name: x 轴名称 :param xaxis_name_pos: x 轴名称位置,有'start','middle','end'可选 :param xaxis_rotate: x 轴刻度标签旋转的角度,在类目轴的类目标签显示不下的时候可以通过旋转防止标 签之间重叠。默认为 0,即不旋转。旋转的角度从 -90 度到 90 度。 :param xaxis_min: x 坐标轴刻度最小值,默认为自适应。使用特殊值 "dataMin" 可自定以数 据中最小值为 x 轴最小值。 :param xaxis_max: x 坐标轴刻度最大值,默认为自适应。使用特殊值 "dataMax" 可自定以数 据中最小值为 x 轴最大值。 :param xaxis_type: x 坐标轴类型 'value':数值轴,适用于连续数据。 'category':类目轴,适用于离散的类目数据。 'log':对数轴。适用于对数数据。 :param xaxis_interval: x 轴刻度标签的显示间隔,在类目轴中有效。默认会采用标签不重叠的策略间隔显示标签。 设置成 0 强制显示所有标签。设置为 1,表示『隔一个标签显示一个标签』, 如果值为 2,表示隔两个标签显示一个标签,以此类推 :param xaxis_force_interval: 强制设置 x 坐标轴分割间隔。如设置为 50 则刻度为 [0, 50, 150, ...],设置为 "auto" 则只显示两个刻度。一般情况下不建议设置这个参数!! 因为 splitNumber 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果, 这时候可以使用 interval 配合 min、max 强制设定刻度划分。在类目轴中无效。 :param xaxis_pos: x 坐标轴位置,有'top','bottom'可选 :param xaxis_label_textsize: x 坐标轴标签字体大小 :param xaxis_label_textcolor: x 坐标轴标签字体颜色 :param yaxis_margin: y 轴刻度标签与轴线之间的距离。默认为 8 :param yaxis_name_size: y 轴名称体大小,默认为 14 :param yaxis_name_gap: y 轴名称与轴线之间的距离,默认为 25 :param yaxis_name: y 轴名称 :param yaxis_name_pos: y 轴名称位置,有'start', 'middle','end'可选 :param yaxis_rotate: y 轴刻度标签旋转的角度,在类目轴的类目标签显示不下的时候可以通过旋转防止标 签之间重叠。默认为 0,即不旋转。旋转的角度从 -90 度到 90 度。 :param yaxis_min: y 坐标轴刻度最小值,默认为自适应。使用特殊值 "dataMin" 可自定以数 据中最小值为 y 轴最小值。 :param yaxis_max: y 坐标轴刻度最大值,默认为自适应。使用特殊值 "dataMax" 可自定以数 据中最小值为 y 轴最大值。 :param yaxis_type: y 坐标轴类型 'value':数值轴,适用于连续数据。 'category':类目轴,适用于离散的类目数据。 'log':对数轴。适用于对数数据。 :param yaxis_interval: y 轴刻度标签的显示间隔,在类目轴中有效。默认会采用标签不重叠的策略间隔显示标签。 设置成 0 强制显示所有标签。设置为 1,表示『隔一个标签显示一个标签』, 如果值为 2,表示隔两个标签显示一个标签,以此类推 :param yaxis_force_interval: 强制设置 y 坐标轴分割间隔。如设置为 50 则刻度为 [0, 50, 150, ...],设置为 "auto" 则只显示两个刻度。一般情况下不建议设置这个参数!! 因为 splitNumber 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果, 这时候可以使用 interval 配合 min、max 强制设定刻度划分。在类目轴中无效。 :param yaxis_pos: y 坐标轴位置,有'left','right'可选 :param yaxis_label_textsize: y 坐标轴标签字体大小 :param yaxis_label_textcolor: y 坐标轴标签字体颜色 :param yaxis_formatter: y 轴标签格式器,如 '天',则 y 轴的标签为数据加'天'(3 天,4 天),默认为 "" :param is_convert: 是否交换 x 轴与 y 轴 :param is_xaxis_inverse: 是否反向 x 坐标轴,默认为 False :param is_yaxis_inverse: 是否反向 y 坐标轴,默认为 False :param is_xaxislabel_align: x 轴刻度线和标签是否对齐,默认为 False :param is_yaxislabel_align: y 轴刻度线和标签是否对齐,默认为 False :param is_xaxis_boundarygap: x 轴两边留白策略,适用于类目轴。类目轴中 boundaryGap 可以配置为 True 和 False。 默认为 True,这时候刻度只是作为分隔线,标签和数据点都会在两个刻度之间的带(band) 中间,即两边留白。 :param is_yaxis_boundarygap: y 轴两边留白策略,适用于类目轴。类目轴中 boundaryGap 可以配置为 True 和 False。 默认为 True,这时候刻度只是作为分隔线,标签和数据点都会在两个刻度之间的带(band) 中间,即两边留白。 :param is_xaxis_show: 是否显示 x 轴 :param is_yaxis_show: 是否显示 y 轴 :param is_splitline_show: 是否显示 y 轴网格线,默认为 True。 :param kwargs: """ _xAxis = option.XAxis( name=xaxis_name, visibility=is_xaxis_show, name_location=xaxis_name_pos, name_gap=xaxis_name_gap, name_size=xaxis_name_size, position=xaxis_pos, boundary_gap=is_xaxis_boundarygap, label_alignment=is_xaxislabel_align, inverse=is_xaxis_inverse, value_range=[xaxis_min, xaxis_max], axis_type=xaxis_type, chart_type=type, ) _xAxis["axisLabel"] = option.XAxisLabel( interval=xaxis_interval, rotate=xaxis_rotate, margin=xaxis_margin, text_size=xaxis_label_textsize, text_color=xaxis_label_textcolor, formatter=xaxis_formatter, ) _yAxis = option.YAxis( name=yaxis_name, visibility=is_yaxis_show, name_location=yaxis_name_pos, name_gap=yaxis_name_gap, name_size=yaxis_name_size, position=yaxis_pos, boundary_gap=is_yaxis_boundarygap, label_alignment=is_yaxislabel_align, inverse=is_yaxis_inverse, value_range=[yaxis_min, yaxis_max], split_line=is_splitline_show, axis_type=yaxis_type, chart_type=type, ) _yAxis["axisLabel"] = option.YAxisLabel( interval=yaxis_interval, rotate=yaxis_rotate, margin=yaxis_margin, text_size=yaxis_label_textsize, text_color=yaxis_label_textcolor, formatter=yaxis_formatter, ) if is_convert: xaxis_type, yaxis_type = _yAxis['type'], _xAxis['type'] _xAxis['type'] = xaxis_type _yAxis.update(data=x_axis, type=yaxis_type) else: _xAxis['data'] = x_axis # 强制分割数值轴,在多 x、y 轴中可以使用强制分割使标刻线对齐 if xaxis_force_interval is not None: _xAxis['interval'] = xaxis_force_interval if yaxis_force_interval is not None: _yAxis['interval'] = yaxis_force_interval return [_xAxis], [_yAxis]