pyecharts 总结
常用的全局配置项
.set_global_opts()
1、标题组件
title_opts=opts.TitleOpts(# 是否显示标题组件。is_show: bool = True,# 主标题文本,支持使用 \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,# 整体(包括 text 和 subtext)的水平对齐。# 可选值:'auto'、'left'、'right'、'center'。text_align: str = "auto",# 整体(包括 text 和 subtext)的垂直对齐。# 可选值:'auto'、'left'、'right'、'center'。text_vertical_align: str = "auto",# 是否触发事件。is_trigger_event: bool = False,# 主标题字体样式配置项,参考 `series_options.TextStyleOpts`title_textstyle_opts: Union[TextStyleOpts, dict, None] = None,# 副标题字体样式配置项,参考 `series_options.TextStyleOpts`subtitle_textstyle_opts: Union[TextStyleOpts, dict, None] = None,)
2、图的初始化配置
#作用在 图表类型()中 init_opts=opts.InitOpts( # 图表画布宽度,css 长度单位。width: str = "900px",# 图表画布高度,css 长度单位。height: str = "500px",# 图表 ID,图表唯一标识,用于在多图表时区分。chart_id: Optional[str] = None,# 渲染风格,可选 "canvas", "svg"# # 参考 `全局变量` 章节renderer: str = RenderType.CANVAS,# 网页标题page_title: str = "Awesome-pyecharts",# 图表主题theme: str = "white",# 图表背景颜色bg_color: Optional[str] = None,# 远程 js host,如不设置默认为 https://assets.pyecharts.org/assets/"# 参考 `全局变量` 章节js_host: str = "",# 画图动画初始化配置,参考 `global_options.AnimationOpts`animation_opts: Union[AnimationOpts, dict] = AnimationOpts(),)"""主题 底色 色调white 白底 红深蓝infographic 白底 红蓝roma 白底 深红蓝vintage 白底 红灰shine 白底 红黄light 白底 金蓝macarons 白底 亮紫蓝walden 白底 浅蓝色系westeros 白底 深蓝色系wonderland 白底 蓝色系essos 白底 红色系romantic 粉底 粉色系chalk 深底 粉绿dark 深底 红蓝purple-passion 深底 紫色系"""
3、图例配置
legend_opts=opts.LegendOpts(# 图例的类型。可选值:# 'plain':普通图例。缺省就是普通图例。# 'scroll':可滚动翻页的图例。当图例数量较多时可以使用。type_: Optional[str] = None,# 图例选择的模式,控制是否可以通过点击图例改变系列的显示状态。默认开启图例选择,可以设成 false 关闭# 除此之外也可以设成 'single' 或者 'multiple' 使用单选或者多选模式。selected_mode: Union[str, bool, None] = None,# 是否显示图例组件is_show: bool = True,# 图例组件离容器左侧的距离。# left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,# 也可以是 'left', 'center', 'right'。# 如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。pos_left: Union[str, Numeric, None] = None,# 图例组件离容器右侧的距离。# right 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。pos_right: Union[str, Numeric, None] = None,# 图例组件离容器上侧的距离。# top 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,# 也可以是 'top', 'middle', 'bottom'。# 如果 top 的值为'top', 'middle', 'bottom',组件会根据相应的位置自动对齐。pos_top: Union[str, Numeric, None] = None,# 图例组件离容器下侧的距离。# bottom 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。pos_bottom: Union[str, Numeric, None] = None,# 图例列表的布局朝向。可选:'horizontal', 'vertical'orient: Optional[str] = None,# 图例标记和文本的对齐。默认自动(auto)# 根据组件的位置和 orient 决定# 当组件的 left 值为 'right' 以及纵向布局(orient 为 'vertical')的时候为右对齐,即为 'right'。# 可选参数: `auto`, `left`, `right`align: Optional[str] = None,# 图例内边距,单位px,默认各方向内边距为5padding: int = 5,# 图例每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。# 默认间隔为 10item_gap: int = 10,# 图例标记的图形宽度。默认宽度为 25item_width: int = 25,# 图例标记的图形高度。默认高度为 14item_height: int = 14,# 图例关闭时的颜色。默认是 #cccinactive_color: Optional[str] = None,# 图例组件字体样式,参考 `series_options.TextStyleOpts`textstyle_opts: Union[TextStyleOpts, dict, None] = None,# 图例项的 icon。# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。# 可以通过 'path://' 将图标设置为任意的矢量路径。legend_icon: Optional[str] = None,# 图例背景色,默认透明。background_color: Optional[str] = "transparent",# 图例的边框颜色。支持的颜色格式同 backgroundColor。border_color: Optional[str] = "#ccc",# 图例的边框线宽。border_width: int = 1,# 圆角半径,单位px,支持传入数组分别指定 4 个圆角半径。 如:border_radius: Union[int, Sequence] = 0,# legend.type 为 'scroll' 时有效。图例控制块中,按钮和页信息之间的间隔。page_button_item_gap: int = 5,# legend.type 为 'scroll' 时有效。图例控制块和图例项之间的间隔。page_button_gap: Optional[int] = None,# legend.type 为 'scroll' 时有效。图例控制块的位置。可选值为:# 'start':控制块在左或上。# 'end':控制块在右或下。page_button_position: str = "end",# legend.type 为 'scroll' 时有效。# 图例控制块中,页信息的显示格式。默认为 '{current}/{total}',其中 {current} 是当前页号(从 1 开始计数),{total} 是总页数。# 如果 pageFormatter 使用函数,须返回字符串,参数为:# {# current: number# total: number# }page_formatter: JSFunc = "{current}/{total}",# legend.type 为 'scroll' 时有效。图例控制块的图标。page_icon: Optional[str] = None,# legend.type 为 'scroll' 时有效。翻页按钮的颜色。page_icon_color: str = "#2f4554",# legend.type 为 'scroll' 时有效。翻页按钮不激活时(即翻页到头时)的颜色。page_icon_inactive_color: str = "#aaa",# legend.type 为 'scroll' 时有效。# 翻页按钮的大小。可以是数字,也可以是数组,如 [10, 3],表示 [宽,高]。page_icon_size: Union[int, Sequence] = 15,# 图例翻页是否使用动画。is_page_animation: Optional[bool] = None,# 图例翻页时的动画时长。page_animation_duration_update: int = 800,# 图例组件中的选择器按钮,目前包括全选和反选两种功能。# 默认不显示,用户可手动开启,也可以手动配置每个按钮的标题。selector: Union[bool, Sequence] = False,# 选择器的位置,可以放在图例的尾部或者头部,对应的值分别为 'end' 和 'start'。# 默认情况下,图例横向布局的时候,选择器放在图例的尾部;图例纵向布局的时候,选择器放在图例的头部。selector_position: str = "auto",# 选择器按钮之间的间隔。selector_item_gap: int = 7,# 选择器按钮与图例组件之间的间隔。selector_button_gap: int = 10,)
4、视觉映射
visualmap_opts=opts.VisualMapOpts(VisualMapOpts(# 是否显示视觉映射配置is_show: bool = True,# 映射过渡类型,可选,"color", "size"type_: str = "color",# 指定 visualMapPiecewise 组件的最小值。min_: Union[int, float] = 0,# 指定 visualMapPiecewise 组件的最大值。max_: Union[int, float] = 100,# 两端的文本,如['High', 'Low']。range_text: Union[list, tuple] = None,# visualMap 组件过渡颜色range_color: Union[Sequence[str]] = None,# visualMap 组件过渡 symbol 大小range_size: Union[Sequence[int]] = None,# visualMap 图元以及其附属物(如文字标签)的透明度。range_opacity: Optional[Numeric] = None,# 如何放置 visualMap 组件,水平('horizontal')或者竖直('vertical')。orient: str = "vertical",# visualMap 组件离容器左侧的距离。# left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,# 也可以是 'left', 'center', 'right'。# 如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。pos_left: Optional[str] = None,# visualMap 组件离容器右侧的距离。# right 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。pos_right: Optional[str] = None,# visualMap 组件离容器上侧的距离。# top 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,# 也可以是 'top', 'middle', 'bottom'。# 如果 top 的值为'top', 'middle', 'bottom',组件会根据相应的位置自动对齐。pos_top: Optional[str] = None,# visualMap 组件离容器下侧的距离。# bottom 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。pos_bottom: Optional[str] = None,# 对于连续型数据,自动平均切分成几段。默认为5段。连续数据的范围需要 max 和 min 来指定split_number: int = 5,# 指定取哪个系列的数据,默认取所有系列。series_index: Union[Numeric, Sequence, None] = None,# 组件映射维度dimension: Optional[Numeric] = None,# 是否显示拖拽用的手柄(手柄能拖拽调整选中范围)。is_calculable: bool = True,# 是否为分段型is_piecewise: bool = False,# 是否反转 visualMap 组件is_inverse: bool = False,# 数据展示的小数精度。# 连续型数据平均分段,精度根据数据自动适应。# 连续型数据自定义分段或离散数据根据类别分段模式,精度默认为0(没有小数)。precision: Optional[int] = None,# 自定义的每一段的范围,以及每一段的文字,以及每一段的特别的样式。例如:# pieces: [# {"min": 1500}, // 不指定 max,表示 max 为无限大(Infinity)。# {"min": 900, "max": 1500},# {"min": 310, "max": 1000},# {"min": 200, "max": 300},# {"min": 10, "max": 200, "label": '10 到 200(自定义label)'},# {"value": 123, "label": '123(自定义特殊颜色)', "color": 'grey'}, //表示 value 等于 123 的情况# {"max": 5} // 不指定 min,表示 min 为无限大(-Infinity)。# ]pieces: Optional[Sequence] = None,# 定义 在选中范围外 的视觉元素。(用户可以和 visualMap 组件交互,用鼠标或触摸选择范围)# 可选的视觉元素有:# symbol: 图元的图形类别。# symbolSize: 图元的大小。# color: 图元的颜色。# colorAlpha: 图元的颜色的透明度。# opacity: 图元以及其附属物(如文字标签)的透明度。# colorLightness: 颜色的明暗度,参见 HSL。# colorSaturation: 颜色的饱和度,参见 HSL。# colorHue: 颜色的色调,参见 HSL。out_of_range: Optional[Sequence] = None,# 图形的宽度,即长条的宽度。item_width: int = 0,# 图形的高度,即长条的高度。item_height: int = 0,# visualMap 组件的背景色。background_color: Optional[str] = None,# visualMap 组件的边框颜色。border_color: Optional[str] = None,# visualMap 边框线宽,单位px。border_width: int = 0,# 文字样式配置项,参考 `series_options.TextStyleOpts`textstyle_opts: Union[TextStyleOpts, dict, None] = None, )
5、坐标轴配置
# x 轴 # Y 轴 yaxis_opts=opts.AxisOpts()xaxis_opts=opts.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,# 坐标轴的分割段数,需要注意的是这个分割段数只是个预估值,最后实际显示的段数会在这个基础上根据分割后坐标轴刻度显示的易读程度作调整。 # 默认值是 5split_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保证坐标轴分割刻度显示成整数。# 默认值是 0min_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,)
6、坐标轴刻度配置
axistick_opts=opts.AxisTickOpts(# 是否显示坐标轴刻度。is_show: bool = True,# 类目轴中在 boundaryGap 为 true 的时候有效,可以保证刻度线和标签对齐。is_align_with_label: bool = False,# 坐标轴刻度是否朝内,默认朝外。is_inside: bool = False,# 坐标轴刻度的长度。length: Optional[Numeric] = None,# 坐标轴线风格配置项,参考 `series_optionsLineStyleOpts`linestyle_opts: Union[LineStyleOpts, dict, None] = None,)
7、坐标轴线配置
axisline_opts=opts.AxisLineOpts(# 是否显示坐标轴轴线。is_show: bool = True,# X 轴或者 Y 轴的轴线是否在另一个轴的 0 刻度上,只有在另一个轴为数值轴且包含 0 刻度时有效。is_on_zero: bool = True,# 当有双轴时,可以用这个属性手动指定,在哪个轴的 0 刻度上。on_zero_axis_index: int = 0,# 轴线两边的箭头。可以是字符串,表示两端使用同样的箭头;或者长度为 2 的字符串数组,分别表示两端的箭头。# 默认不显示箭头,即 'none'。# 两端都显示箭头可以设置为 'arrow'。# 只在末端显示箭头可以设置为 ['none', 'arrow']。symbol: Optional[str] = None,# 坐标轴线风格配置项,参考 `series_optionsLineStyleOpts`linestyle_opts: Union[LineStyleOpts, dict, None] = None,)
8、单坐标轴配置
# 坐标轴名称。name: Optional[str] = None,# 坐标轴刻度最大值。# 可以设置成特殊值 'dataMax',此时取数据在该轴上的最大值作为最大刻度。# 不设置时会自动计算最大值保证坐标轴刻度的均匀分布。# 在类目轴中,也可以设置为类目的序数(如类目轴 data: ['类A', '类B', '类C'] 中,序数 2 表示 '类C'。# 也可以设置为负数,如 -3)。max_: Union[str, Numeric, None] = None,# 坐标轴刻度最小值。# 可以设置成特殊值 'dataMin',此时取数据在该轴上的最小值作为最小刻度。# 不设置时会自动计算最小值保证坐标轴刻度的均匀分布。# 在类目轴中,也可以设置为类目的序数(如类目轴 data: ['类A', '类B', '类C'] 中,序数 2 表示 '类C'。# 也可以设置为负数,如 -3)。min_: Union[str, Numeric, None] = None,# single 组件离容器左侧的距离。# left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,# 也可以是 'left', 'center', 'right'。# 如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。pos_left: Optional[str] = None,# single组件离容器右侧的距离。# right 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。pos_right: Optional[str] = None,# single组件离容器上侧的距离。# top 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,# 也可以是 'top', 'middle', 'bottom'。# 如果 top 的值为'top', 'middle', 'bottom',组件会根据相应的位置自动对齐。pos_top: Optional[str] = None,# single组件离容器下侧的距离。# bottom 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。pos_bottom: Optional[str] = None,# single 组件的宽度。默认自适应。width: Optional[str] = None,# single 组件的高度。默认自适应。height: Optional[str] = None,# 轴的朝向,默认水平朝向,可以设置成 'vertical' 垂直朝向。orient: Optional[str] = None,# 坐标轴类型。可选:# 'value': 数值轴,适用于连续数据。# 'category': 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据。# 'time': 时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,# 例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。# 'log' 对数轴。适用于对数数据。type_: Optional[str] = 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,# 坐标轴在 grid 区域中的分隔区域,默认不显示。参考 `series_options.SplitAreaOpts`splitarea_opts: Union[SplitAreaOpts, dict, None] = None,# 分割线配置项,参考 `series_options.SplitLineOpts`splitline_opts: Union[SplitLineOpts, dict] = SplitLineOpts(is_show=True),# 坐标轴次刻度线相关设置,参考 `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,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[TooltipOpts, dict, None] = None,)
常用系列配置项
.set_series_opts()
1、标签配置项
z坐标轴标签配置 axislabel_opts = opts.LabelOpts()
label_opts=opts.LabelOpts(# 是否显示标签。is_show: bool = True,# 标签的位置。可选# 'top','left','right','bottom','inside','insideLeft','insideRight'# 'insideTop','insideBottom', 'insideTopLeft','insideBottomLeft'# 'insideTopRight','insideBottomRight'position: Union[str, Sequence] = "top",# 文字的颜色。# 如果设置为 'auto',则为视觉映射得到的颜色,如系列色。color: Optional[str] = None,# 距离图形元素的距离。当 position 为字符描述值(如 'top'、'insideRight')时候有效。distance: Union[Numeric, Sequence, None] = None,# 文字的字体大小font_size: Numeric = 12,# 文字字体的风格,可选:# 'normal','italic','oblique'font_style: Optional[str] = None,# 文字字体的粗细,可选:# 'normal','bold','bolder','lighter'font_weight: Optional[str] = None,# 文字的字体系列# 还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...font_family: Optional[str] = None,# 标签旋转。从 -90 度到 90 度。正值是逆时针。rotate: Optional[Numeric] = None,# 刻度标签与轴线之间的距离。margin: Optional[Numeric] = 8,# 坐标轴刻度标签的显示间隔,在类目轴中有效。# 默认会采用标签不重叠的策略间隔显示标签。# 可以设置成 0 强制显示所有标签。# 如果设置为 1,表示『隔一个标签显示一个标签』,如果值为 2,表示隔两个标签显示一个标签,以此类推。# 可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:# (index:number, value: string) => boolean# 第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 false。interval: Union[Numeric, str, None]= None,# 文字水平对齐方式,默认自动。可选:# 'left','center','right'horizontal_align: Optional[str] = None,# 文字垂直对齐方式,默认自动。可选:# 'top','middle','bottom'vertical_align: Optional[str] = None,# 标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 \n 换行。# 模板变量有 {a}, {b},{c},{d},{e},分别表示系列名,数据名,数据值等。 # 在 trigger 为 'axis' 的时候,会有多个系列的数据,此时可以通过 {a0}, {a1}, {a2} 这种后面加索引的方式表示系列的索引。 # 不同图表类型下的 {a},{b},{c},{d} 含义不一样。 其中变量{a}, {b}, {c}, {d}在不同图表类型下代表数据含义为:# 折线(区域)图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)# 散点图(气泡)图 : {a}(系列名称),{b}(数据名称),{c}(数值数组), {d}(无)# 地图 : {a}(系列名称),{b}(区域名称),{c}(合并数值), {d}(无)# 饼图、仪表盘、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比)# 示例: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,# 文字块背景色。# 可以使用颜色值,例如:'#123234', 'red', 'rgba(0,23,11,0.3)'。background_color: Optional[str] = None,# 文字块边框颜色。如果设置为 'inherit',则为视觉映射得到的颜色,如系列色。border_color: Optional[str] = None,# 文字块边框宽度。border_width: Optional[Numeric] = None,# 文字块的圆角。border_radius: Optional[Numeric] = None,# 文字块的内边距。例如:# padding: [3, 4, 5, 6]:表示 [上, 右, 下, 左] 的边距。# padding: 4:表示 padding: [4, 4, 4, 4]。# padding: [3, 4]:表示 padding: [3, 4, 3, 4]。# 注意,文字块的 width 和 height 指定的是内容高宽,不包含 padding。padding: Union[Numeric, Sequence[Numeric], None] = None,# 文本显示宽度。text_width: Optional[Numeric] = None,# 文本显示高度。text_height: Optional[Numeric] = None,# 文字超出宽度是否截断或者换行。配置width时有效# 'truncate' 截断,并在末尾显示ellipsis配置的文本,默认为...# 'break' 换行# 'breakAll' 换行,跟'break'不同的是,在英语等拉丁文中,'breakAll'还会强制单词内换行overflow: Optional[str] = None,# 在 rich 里面,可以自定义富文本样式。利用富文本样式,可以在标签中做出非常丰富的效果# 具体配置可以参考一下 https://www.echartsjs.com/tutorial.html#%E5%AF%8C%E6%96%87%E6%9C%AC%E6%A0%87%E7%AD%BErich: Optional[dict] = None,)
2、文字样式配置
textstyle_opts=opts.TextStyleOpts(# 文字颜色。color: Optional[str] = None,# 文字字体的风格# 可选:'normal','italic','oblique'font_style: Optional[str] = None,# 主标题文字字体的粗细,可选:# 'normal','bold','bolder','lighter'font_weight: Optional[str] = None,# 文字的字体系列# 还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...font_family: Optional[str] = None,# 文字的字体大小font_size: Optional[Numeric] = None,# 文字水平对齐方式,默认自动align: Optional[str] = None,# 文字垂直对齐方式,默认自动vertical_align: Optional[str] = None,# 行高line_height: Optional[str] = None,# 文字块背景色。可以是直接的颜色值,例如:'#123234', 'red', 'rgba(0,23,11,0.3)'background_color: Optional[str] = None,# 文字块边框颜色border_color: Optional[str] = None,# 文字块边框宽度border_width: Optional[Numeric] = None,# 文字块的圆角border_radius: Union[Numeric, Sequence, None] = None,# 文字块的内边距 # 例如 padding: [3, 4, 5, 6]:表示 [上, 右, 下, 左] 的边距# 例如 padding: 4:表示 padding: [4, 4, 4, 4]# 例如 padding: [3, 4]:表示 padding: [3, 4, 3, 4]padding: Union[Numeric, Sequence, None] = None,# 文字块的背景阴影颜色shadow_color: Optional[str] = None,# 文字块的背景阴影长度shadow_blur: Optional[Numeric] = None,# 文字块的宽度width: Optional[str] = None,# 文字块的高度height: Optional[str] = None,# 在 rich 里面,可以自定义富文本样式。利用富文本样式,可以在标签中做出非常丰富的效果# 具体配置可以参考一下 https://www.echartsjs.com/tutorial.html#%E5%AF%8C%E6%96%87%E6%9C%AC%E6%A0%87%E7%AD%BErich: Optional[dict] = None,)
3、图元样式配置
itemstyle_opts=opts.ItemStyleOpts(# 图形的颜色。# 颜色可以使用 RGB 表示,比如 'rgb(128, 128, 128)',如果想要加上 alpha 通道表示不透明度,# 可以使用 RGBA,比如 'rgba(128, 128, 128, 0.5)',也可以使用十六进制格式,比如 '#ccc'。# 除了纯色之外颜色也支持渐变色和纹理填充# # 线性渐变,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1,相当于在图形包围盒中的百分比,# 如果 globalCoord 为 `true`,则该四个值是绝对的像素位置# color: {# type: 'linear',# x: 0,# y: 0,# x2: 0,# y2: 1,# colorStops: [{# offset: 0, color: 'red' // 0% 处的颜色# }, {# offset: 1, color: 'blue' // 100% 处的颜色# }],# global: false // 缺省为 false# }# # 径向渐变,前三个参数分别是圆心 x, y 和半径,取值同线性渐变# color: {# type: 'radial',# x: 0.5,# y: 0.5,# r: 0.5,# colorStops: [{# offset: 0, color: 'red' // 0% 处的颜色# }, {# offset: 1, color: 'blue' // 100% 处的颜色# }],# global: false // 缺省为 false# }# # 纹理填充# color: {# image: imageDom, // 支持为 HTMLImageElement, HTMLCanvasElement,不支持路径字符串# repeat: 'repeat' // 是否平铺, 可以是 'repeat-x', 'repeat-y', 'no-repeat'# }color: Optional[str] = None,# 阴线 图形的颜色。color0: Optional[str] = None,# 图形的描边颜色。支持的颜色格式同 color,不支持回调函数。border_color: Optional[str] = None,# 阴线 图形的描边颜色。border_color0: Optional[str] = None,# 描边宽度,默认不描边。border_width: Optional[Numeric] = None,# 支持 'dashed', 'dotted'。border_type: Optional[str] = None,# 图形透明度。支持从 0 到 1 的数字,为 0 时不绘制该图形。opacity: Optional[Numeric] = None,# 区域的颜色。 area_color: Optional[str] = None,)
4、线样式配置项
linestyle_opts=opts.LineStyleOpts(# 是否显示is_show: bool = True,# 线宽。width: Numeric = 1,# 图形透明度。支持从 0 到 1 的数字,为 0 时不绘制该图形。opacity: Numeric = 1,# 线的弯曲度,0 表示完全不弯曲curve: Numeric = 0,# 线的类型。可选:# 'solid', 'dashed', 'dotted'type_: str = "solid",# 线的颜色。# 颜色可以使用 RGB 表示,比如 'rgb(128, 128, 128)',如果想要加上 alpha 通道表示不透明度,# 可以使用 RGBA,比如 'rgba(128, 128, 128, 0.5)',也可以使用十六进制格式,比如 '#ccc'。# 除了纯色之外颜色也支持渐变色和纹理填充# # 线性渐变,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1,相当于在图形包围盒中的百分比,# 如果 globalCoord 为 `true`,则该四个值是绝对的像素位置# color: {# type: 'linear',# x: 0,# y: 0,# x2: 0,# y2: 1,# colorStops: [{# offset: 0, color: 'red' // 0% 处的颜色# }, {# offset: 1, color: 'blue' // 100% 处的颜色# }],# global: false // 缺省为 false# }# # 径向渐变,前三个参数分别是圆心 x, y 和半径,取值同线性渐变# color: {# type: 'radial',# x: 0.5,# y: 0.5,# r: 0.5,# colorStops: [{# offset: 0, color: 'red' // 0% 处的颜色# }, {# offset: 1, color: 'blue' // 100% 处的颜色# }],# global: false // 缺省为 false# }# # 纹理填充# color: {# image: imageDom, // 支持为 HTMLImageElement, HTMLCanvasElement,不支持路径字符串# repeat: 'repeat' // 是否平铺, 可以是 'repeat-x', 'repeat-y', 'no-repeat'# }color: Union[str, Sequence, None] = None, )
5、标记点配置项
markpoint_opts=opts.MarkPointOpts( # 标记点数据,参考 `series_options.MarkPointItem`data: Sequence[Union[MarkPointItem, dict]] = None,# 标记的图形。# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', # 'diamond', 'pin', 'arrow', 'none'# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。symbol: Optional[str] = None,# 标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,# 例如 [20, 10] 表示标记宽为 20,高为 10。# 如果需要每个数据的图形大小不一样,可以设置为如下格式的回调函数:# (value: Array|number, params: Object) => number|Array# 其中第一个参数 value 为 data 中的数据值。第二个参数 params 是其它的数据项参数。symbol_size: Union[None, Numeric] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: LabelOpts = LabelOpts(position="inside", color="#fff"), )
6、标记点数据项
opts.MarkPointItem(# 标注名称。name: Optional[str] = None,# 特殊的标注类型,用于标注最大值最小值等。可选:# 'min' 最大值。# 'max' 最大值。# 'average' 平均值。type_: Optional[str] = None,# 在使用 type 时有效,用于指定在哪个维度上指定最大值最小值,可以是 # 0(xAxis, radiusAxis),# 1(yAxis, angleAxis),默认使用第一个数值轴所在的维度。value_index: Optional[Numeric] = None,# 在使用 type 时有效,用于指定在哪个维度上指定最大值最小值。这可以是维度的直接名称,# 例如折线图时可以是 x、angle 等、candlestick 图时可以是 open、close 等维度名称。value_dim: Optional[str] = None,# 标注的坐标。坐标格式视系列的坐标系而定,可以是直角坐标系上的 x, y,# 也可以是极坐标系上的 radius, angle。例如 [121, 2323]、['aa', 998]。coord: Optional[Sequence] = None,# 相对容器的屏幕 x 坐标,单位像素。x: Optional[Numeric] = None,# 相对容器的屏幕 y 坐标,单位像素。y: Optional[Numeric] = None,# 标注值,可以不设。value: Optional[Numeric] = None,# 标记的图形。# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', # 'diamond', 'pin', 'arrow', 'none'# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。symbol: Optional[str] = None,# 标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,# 例如 [20, 10] 表示标记宽为 20,高为 10。symbol_size: Union[Numeric, Sequence] = None,# 标记点样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[ItemStyleOpts, dict, None] = None, )
7、标记线配置项
markline_opts=opts.MarkLineOpts(# 图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。is_silent: bool = False,# 标记线数据,参考 `series_options.MarkLineItem`data: Sequence[Union[MarkLineItem, dict]] = None,# 标线两端的标记类型,可以是一个数组分别指定两端,也可以是单个统一指定,具体格式见 data.symbol。symbol: Optional[str] = None,# 标线两端的标记大小,可以是一个数组分别指定两端,也可以是单个统一指定。symbol_size: Union[None, Numeric] = None,# 标线数值的精度,在显示平均值线的时候有用。precision: int = 2,# 标签配置项,参考 `series_options.LabelOpts`label_opts: LabelOpts = LabelOpts(),# 标记线样式配置项,参考 `series_options.LineStyleOpts`linestyle_opts: Union[LineStyleOpts, dict, None] = None, )
8、标记线数据项
opts.MarkLineItem( # 标注名称。name: Optional[str] = None,# 特殊的标注类型,用于标注最大值最小值等。可选:# 'min' 最大值。# 'max' 最大值。# 'average' 平均值。type_: Optional[str] = None,# 相对容器的屏幕 x 坐标,单位像素。x: Union[str, Numeric, None] = None,# x 数据坐标。xcoord: Union[str, Numeric, None] = None,# 相对容器的屏幕 y 坐标,单位像素。y: Union[str, Numeric, None] = None,# y 数据坐标。ycoord: Union[str, Numeric, None] = None,# 在使用 type 时有效,用于指定在哪个维度上指定最大值最小值,可以是 # 0(xAxis, radiusAxis),# 1(yAxis, angleAxis),默认使用第一个数值轴所在的维度。value_index: Optional[Numeric] = None,# 在使用 type 时有效,用于指定在哪个维度上指定最大值最小值。这可以是维度的直接名称,# 例如折线图时可以是 x、angle 等、candlestick 图时可以是 open、close 等维度名称。value_dim: Optional[str] = None,# 起点或终点的坐标。坐标格式视系列的坐标系而定,可以是直角坐标系上的 x, y,# 也可以是极坐标系上的 radius, angle。coord: Optional[Sequence] = None,# 终点标记的图形。# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle',# 'diamond', 'pin', 'arrow', 'none'# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。symbol: Optional[str] = None,# 标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,# 例如 [20, 10] 表示标记宽为 20,高为 10。symbol_size: Optional[Numeric] = None, )
9、区域样式填充
areastyle_opts=opts.AreaStyleOpts(# 图形透明度。支持从 0 到 1 的数字,为 0 时不绘制该图形。opacity: Optional[Numeric] = 0,# 填充的颜色。# 颜色可以使用 RGB 表示,比如 'rgb(128, 128, 128)',如果想要加上 alpha 通道表示不透明度,# 可以使用 RGBA,比如 'rgba(128, 128, 128, 0.5)',也可以使用十六进制格式,比如 '#ccc'。# 除了纯色之外颜色也支持渐变色和纹理填充# # 线性渐变,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1,相当于在图形包围盒中的百分比,# 如果 globalCoord 为 `true`,则该四个值是绝对的像素位置# color: {# type: 'linear',# x: 0,# y: 0,# x2: 0,# y2: 1,# colorStops: [{# offset: 0, color: 'red' // 0% 处的颜色# }, {# offset: 1, color: 'blue' // 100% 处的颜色# }],# global: false // 缺省为 false# }# # 径向渐变,前三个参数分别是圆心 x, y 和半径,取值同线性渐变# color: {# type: 'radial',# x: 0.5,# y: 0.5,# r: 0.5,# colorStops: [{# offset: 0, color: 'red' // 0% 处的颜色# }, {# offset: 1, color: 'blue' // 100% 处的颜色# }],# global: false // 缺省为 false# }# # 纹理填充# color: {# image: imageDom, // 支持为 HTMLImageElement, HTMLCanvasElement,不支持路径字符串# repeat: 'repeat' // 是否平铺, 可以是 'repeat-x', 'repeat-y', 'no-repeat'# }color: Optional[str] = None)
图表API
Base
类是所有图表的基类,包括组合图表
Base
类是所有图表的基类,包括组合图表,Base
类 API 如下
func pyecharts.Base.add_js_funcs
# 新增 js 代码,js 代码会被渲染进 HTML 中执行def add_js_funcs(*fns):
func pyecharts.Base.set_colors
# 设置全局 Label 颜色def set_colors(colors: colors: Sequence[str])
func pyecharts.Base.get_options
# 获取全局 optionsdef get_options() -> dict:
func pyecharts.Base.dump_options
# 获取全局 options,JSON 格式(JsCode 生成的函数不带引号)def dump_options() -> str:# 获取全局 options,JSON 格式(JsCode 生成的函数带引号,在前后端分离传输数据时使用)def dump_options_with_quotes() -> str:
func pyecharts.Base.render
# 渲染图表到 HTML 文件def render(# 生成图片路径path: str = "render.html",# 模板路径template_name: str = "simple_chart.html",# jinja2.Environment 类实例,可以配置各类环境参数env: Optional[Environment] = None,) -> str
func pyecharts.Base.render_embed
# 渲染图表到 HTML 字符串def render_embed(# 模板路径template_name: str = "simple_chart.html",# jinja2.Environment 类实例,可以配置各类环境参数env: Optional[Environment] = None,) -> str:
func pyecharts.Base.render_notebook
# 将图形渲染到 notebookdef render_notebook()
func pyecharts.Base.load_javascript
# 加载 js 资源,在 notebook 环境为 JupyterLab 时需要用到,仅在第一次渲染图前使用加载即可。def load_javascript()
基本图表
1、饼图
class Pie(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据项,格式为 [(key1, value1), (key2, value2)]data_pair: types.Sequence[types.Union[types.Sequence, opts.PieItem, dict]],# 系列 label 颜色color: Optional[str] = None,# 从调色盘 option.color 中取色的策略,可取值为:# 'series':按照系列分配调色盘中的颜色,同一系列中的所有数据都是用相同的颜色;# 'data':按照数据项分配调色盘中的颜色,每个数据项都使用不同的颜色。color_by: types.Optional[str] = "data",# 是否启用图例 hover 时的联动高亮。is_legend_hover_link: bool = True,# 选中模式的配置,表示是否支持多个选中,默认关闭,支持布尔值和字符串。# 字符串取值可选'single','multiple','series' 分别表示单选,多选以及选择整个系列。selected_mode: types.Union[str, bool] = False,# 选中扇区的偏移距离。selected_offset: types.Numeric = 10,# 饼图的半径,数组的第一项是内半径,第二项是外半径# 默认设置成百分比,相对于容器高宽中较小的一项的一半radius: Optional[Sequence] = None,# 饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标# 默认设置成百分比,设置成百分比时第一项是相对于容器宽度,第二项是相对于容器高度center: Optional[Sequence] = None,# 是否展示成南丁格尔图,通过半径区分数据大小,有'radius'和'area'两种模式。# radius:扇区圆心角展现数据的百分比,半径展现数据的大小# area:所有扇区圆心角相同,仅通过半径展现数据大小rosetype: Optional[str] = None,# 饼图的扇区是否是顺时针排布。is_clockwise: bool = True,# 起始角度,支持范围 [0,360]start_angle: types.Numeric = 90,# 最小的扇区角度(0 ~ 360),用于防止某个值过小导致扇区太小影响交互。min_angle: types.Numeric = 0,# 小于这个角度(0 ~ 360)的扇区,不显示标签(label 和 labelLine)。min_show_label_angle: types.Numeric = 0,# 是否启用防止标签重叠策略,默认开启,在标签拥挤重叠的情况下会挪动各个标签的位置,防止标签间的重叠。# 如果不需要开启该策略,例如圆环图这个例子中需要强制所有标签放在中心位置,可以将该值设为 false。is_avoid_label_overlap: bool = True,# 是否在数据和为0(一般情况下所有数据为0) 的时候仍显示扇区。is_still_show_zero_sum: bool = True,# 饼图百分比数值的精度,默认保留小数点后两位。percent_precision: types.Numeric = 2,# 是否在无数据的时候显示一个占位圆。is_show_empty_circle: bool = True,# 占位圆样式。empty_circle_style_opts: types.PieEmptyCircle = opts.PieEmptyCircleStyle(),# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,# 可以定义 data 的哪个维度被编码成什么。encode: types.Union[types.JSFunc, dict, None] = None,# 饼图引导线配置,参考 `chart_options.PieLabelLineOpts`label_line_opts: types.PieLabelLine = opts.PieLabelLineOpts(),)
饼图标签的视觉引导线
class PieLabelLineOpts(# 是否显示视觉引导线。is_show: bool = True,# 是否显示在图形上方is_show_above: bool = False,# 视觉引导线第一段的长度。length: Numeric = None,# 视觉引导项第二段的长度。length_2: Numeric = None,# 是否平滑视觉引导线,默认不平滑,可以设置成 true 平滑显示。# 也可以设置为 0 到 1 的值,表示平滑程度。smooth: Union[bool, Numeric] = False,# 通过调整第二线段的长度,限制引导线两端之间最小的夹角# 以防止过小的夹角导致显示不美观。# 可以设置为 0 - 180 度。min_turn_angle: Numeric = 90,# 线条样式,参考 `LineStyleOpts`linestyle_opts: Union[LineStyleOpts, dict, None] = None,# 通过调整第二线段的长度,限制引导线与扇区法线的最大夹角# 设置为小于 90 度的值保证引导线不会和扇区交叉。# 可以设置为 0 - 180 度。max_surface_angle: Numeric = 90,)
饼图站位圆样式
class PieEmptyCircleStyle(# 图形的颜色。color: str = "lightgray",# 图形的描边颜色。支持的颜色格式同 color,不支持回调函数。border_color: str = "#000",# 描边线宽。为 0 时无描边。border_width: Numeric = 0,# 描边类型。可选:'solid', 'dashed', 'dotted'border_type: str = "solid",# 用于设置虚线的偏移量,可搭配 borderType 指定 dash array 实现灵活的虚线效果。border_dash_offset: Numeric = 0,# 用于指定线段末端的绘制方式,可以是:# 'butt': 线段末端以方形结束。# 'round': 线段末端以圆形结束。# 'square': 线段末端以方形结束,但是增加了一个宽度和线段相同,高度是线段厚度一半的矩形区域。border_cap: str = "butt",# 用于设置2个长度不为0的相连部分(线段,圆弧,曲线)如何连接在一起的属性(长度为0的变形部分,其指定的末端和控制点在同一位置,会被忽略)。# 可以是:# 'bevel': 在相连部分的末端填充一个额外的以三角形为底的区域, 每个部分都有各自独立的矩形拐角。# 'round': 通过填充一个额外的,圆心在相连部分末端的扇形,绘制拐角的形状。 圆角的半径是线段的宽度。# 'miter': 通过延伸相连部分的外边缘,使其相交于一点,形成一个额外的菱形区域。这个设置可以通过 borderMiterLimit 属性看到效果。border_join: str = "bevel",# 用于设置斜接面限制比例。只有当 borderJoin 为 miter 时, borderMiterLimit 才有效。# 默认值为 10。负数、0、Infinity 和 NaN 均会被忽略。border_miter_limit: Numeric = 10,# 图形透明度。支持从 0 到 1 的数字,为 0 时不绘制该图形。opacity: Numeric = 1,)
2、折线图
class Line(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add_yaxis(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据y_axis: types.Sequence[types.Union[opts.LineItem, dict]],# 是否选中图例is_selected: bool = True,# 是否连接空数据,空数据使用 `None` 填充is_connect_nones: bool = False,# 使用的 x 轴的 index,在单个图表实例中存在多个 x 轴的时候有用。xaxis_index: Optional[Numeric] = None,# 使用的 y 轴的 index,在单个图表实例中存在多个 y 轴的时候有用。yaxis_index: Optional[Numeric] = None,# 系列 label 颜色color: Optional[str] = None,# 是否显示 symbol, 如果 false 则只有在 tooltip hover 的时候显示。is_symbol_show: bool = True,# 标记的图形。# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', # 'diamond', 'pin', 'arrow', 'none'# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。symbol: Optional[str] = None,# 标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,# 例如 [20, 10] 表示标记宽为 20,高为 10。symbol_size: Union[Numeric, Sequence] = 4,# 数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置。stack: Optional[str] = None,# 是否平滑曲线is_smooth: bool = False,# 是否裁剪超出坐标系部分的图形。折线图:裁掉所有超出坐标系的折线部分,拐点图形的逻辑按照散点图处理is_clip: bool = True,# 是否显示成阶梯图is_step: bool = False,# 是否开启 hover 在拐点标志上的提示动画效果。is_hover_animation: bool = True,# 折线图所有图形的 zlevel 值。# zlevel用于 Canvas 分层,不同zlevel值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。# zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面。z_level: types.Numeric = 0,# 折线图组件的所有图形的z值。控制图形的前后顺序。z值小的图形会被z值大的图形覆盖。# z 相比 zlevel 优先级更低,而且不会创建新的 Canvas。z: types.Numeric = 0,# 折线图在数据量远大于像素点时候的降采样策略,开启后可以有效的优化图表的绘制效率,默认关闭,也就是全部绘制不过滤数据点。# 可选:# 'lttb' 采用 Largest-Triangle-Three-Bucket 算法,可以最大程度保证采样后线条的趋势,形状和极值。# 'average' 取过滤点的平均值# 'max' 取过滤点的最大值# 'min' 取过滤点的最小值# 'sum' 取过滤点的和sampling: types.Optional[str] = None,# 使用 dimensions 定义 series.data 或者 dataset.source 的每个维度的信息。# 注意:如果使用了 dataset,那么可以在 dataset.source 的第一行/列中给出 dimension 名称。# 于是就不用在这里指定 dimension。# 但是,如果在这里指定了 dimensions,那么 ECharts 不再会自动从 dataset.source 的第一行/列中获取维度信息。dimensions: types.Union[types.Sequence, None] = None,# 当使用 dataset 时,seriesLayoutBy 指定了 dataset 中用行还是列对应到系列上,也就是说,系列“排布”到 dataset 的行还是列上。可取值:# 'column':默认,dataset 的列对应于系列,从而 dataset 中每一列是一个维度(dimension)。# 'row':dataset 的行对应于系列,从而 dataset 中每一行是一个维度(dimension)。series_layout_by: str = "column",# 标记点配置项,参考 `series_options.MarkPointOpts`markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,# 标记线配置项,参考 `series_options.MarkLineOpts`markline_opts: Union[opts.MarkLineOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),# 线样式配置项,参考 `series_options.LineStyleOpts`linestyle_opts: Union[opts.LineStyleOpts, dict] = opts.LineStyleOpts(),# 填充区域配置项,参考 `series_options.AreaStyleOpts`areastyle_opts: Union[opts.AreaStyleOpts, dict] = opts.AreaStyleOpts(),# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,# 可以定义 data 的哪个维度被编码成什么。encode: types.Union[types.JSFunc, dict, None] = None,)
折线图数据项
class LineItem(# 数据项名称。name: Union[str, Numeric] = None,# 数据项的值value: Union[str, Numeric] = None,# 单个数据标记的图形。symbol: Optional[str] = None,# 单个数据标记的大小symbol_size: Union[Sequence[Numeric], Numeric] = None,# 单个数据标记的旋转角度(而非弧度)。symbol_rotate: Optional[Numeric] = None,# 如果 symbol 是 path:// 的形式,是否在缩放时保持该图形的长宽比。symbol_keep_aspect: bool = False,# 单个数据标记相对于原本位置的偏移。symbol_offset: Optional[Sequence] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[LabelOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[TooltipOpts, dict, None] = None,)
3、散点图
class Scatter(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add_yaxis(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据y_axis: Sequence,# 是否选中图例is_selected: bool = True,# 使用的 x 轴的 index,在单个图表实例中存在多个 x 轴的时候有用。xaxis_index: Optional[Numeric] = None,# 使用的 y 轴的 index,在单个图表实例中存在多个 y 轴的时候有用。yaxis_index: Optional[Numeric] = None,# 系列 label 颜色color: Optional[str] = None,# 标记的图形。# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', # 'diamond', 'pin', 'arrow', 'none'# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。symbol: Optional[str] = None,# 标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,# 例如 [20, 10] 表示标记宽为 20,高为 10。symbol_size: Numeric = 10,# 标记的旋转角度。注意在 markLine 中当 symbol 为 'arrow' 时会忽略 symbolRotate 强制设置为切线的角度。symbol_rotate: types.Optional[types.Numeric] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(position="right"),# 标记点配置项,参考 `series_options.MarkPointOpts`markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,# 标记线配置项,参考 `series_options.MarkLineOpts`markline_opts: Union[opts.MarkLineOpts, dict, None] = None,# 图表标域,常用于标记图表中某个范围的数据,参考 `series_options.MarkAreaOpts`markarea_opts: types.MarkArea = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,# 可以定义 data 的哪个维度被编码成什么。encode: types.Union[types.JSFunc, dict, None] = None,)
散点图数据项
class ScatterItem(# 数据项名称。name: Union[str, Numeric] = None,# 数据项值。value: Union[str, Numeric] = None,# 单个数据标记的图形。# ECharts 提供的标记类型包括 # 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。# 可以通过 'path://' 将图标设置为任意的矢量路径。symbol: Optional[str] = None,# 单个数据标记的大小,可以设置成诸如 10 这样单一的数字# 也可以用数组分开表示宽和高,例如 [20, 10] 表示标记宽为20,高为10。symbol_size: Union[Sequence[Numeric], Numeric] = None,# 单个数据标记的旋转角度(而非弧度)。正symbol_rotate: Optional[Numeric] = None,# 如果 symbol 是 path:// 的形式,是否在缩放时保持该图形的长宽比。symbol_keep_aspect: bool = False,# 单个数据标记相对于原本位置的偏移。symbol_offset: Optional[Sequence] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[LabelOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[TooltipOpts, dict, None] = None,)
4、柱状图
class Bar(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add_yaxis(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据y_axis: Sequence[Numeric, opts.BarItem, dict],# 是否选中图例is_selected: bool = True,# 使用的 x 轴的 index,在单个图表实例中存在多个 x 轴的时候有用。xaxis_index: Optional[Numeric] = None,# 使用的 y 轴的 index,在单个图表实例中存在多个 y 轴的时候有用。yaxis_index: Optional[Numeric] = None,# 是否启用图例 hover 时的联动高亮is_legend_hover_link: bool = True,# 系列 label 颜色color: Optional[str] = None,# 是否开启实时排序,默认为 Falseis_realtime_sort: bool = False,# 是否显示柱条的背景色。通过 backgroundStyle 配置背景样式。is_show_background: bool = False,# 每一个柱条的背景样式。需要将 showBackground 设置为 true 时才有效。background_style: types.Union[types.BarBackground, dict, None] = None,# 数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置。stack: Optional[str] = None,# 数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置。关于如何定制数值的堆叠方式,参见 stackStrategy。# 注:目前 stack 只支持堆叠于 'value' 和 'log' 类型的类目轴上,不支持 'time' 和 'category' 类型的类目轴。stack_strategy: types.Optional[str] = "samesign",# 堆积数值的策略,前提是stack属性已被设置。其值可以是:# 'samesign' 只在要堆叠的值与当前累积的堆叠值具有相同的正负符号时才堆叠。# 'all' 堆叠所有的值,不管当前或累积的堆叠值的正负符号是什么。# 'positive' 只堆积正值。# 'negative' 只堆叠负值。sampling: types.Optional[str] = None,# 鼠标悬浮时在图形元素上时鼠标的样式是什么。同 CSS 的 cursor。cursor: types.Optional[str] = "pointer",# 柱条的宽度,不设时自适应。# 可以是绝对值例如 40 或者百分数例如 '60%'。百分数基于自动计算出的每一类目的宽度。# 在同一坐标系上,此属性会被多个 'bar' 系列共享。此属性应设置于此坐标系中最后一个 'bar' 系列上才会生效,并且是对此坐标系中所有 'bar' 系列生效。bar_width: types.Union[types.Numeric, str] = None,# 柱条的最大宽度。比 barWidth 优先级高。bar_max_width: types.Union[types.Numeric, str] = None,# 柱条的最小宽度。在直角坐标系中,默认值是 1。否则默认值是 null。比 barWidth 优先级高。bar_min_width: types.Union[types.Numeric, str] = None,# 柱条最小高度,可用于防止某数据项的值过小而影响交互。bar_min_height: types.Numeric = 0,# 同一系列的柱间距离,默认为类目间距的 20%,可设固定值category_gap: Union[Numeric, str] = "20%",# 不同系列的柱间距离,为百分比(如 '30%',表示柱子宽度的 30%)。# 如果想要两个系列的柱子重叠,可以设置 gap 为 '-100%'。这在用柱子做背景的时候有用。gap: Optional[str] = "30%",# 是否开启大数据量优化,在数据图形特别多而出现卡顿时候可以开启。# 开启后配合 largeThreshold 在数据量大于指定阈值的时候对绘制进行优化。# 缺点:优化后不能自定义设置单个数据项的样式。is_large: bool = False,# 开启绘制优化的阈值。large_threshold: types.Numeric = 400,# 使用 dimensions 定义 series.data 或者 dataset.source 的每个维度的信息。# 注意:如果使用了 dataset,那么可以在 dataset.source 的第一行/列中给出 dimension 名称。# 于是就不用在这里指定 dimension。# 但是,如果在这里指定了 dimensions,那么 ECharts 不再会自动从 dataset.source 的第一行/列中获取维度信息。dimensions: types.Union[types.Sequence, None] = None,# 当使用 dataset 时,seriesLayoutBy 指定了 dataset 中用行还是列对应到系列上,也就是说,系列“排布”到 dataset 的行还是列上。可取值:# 'column':默认,dataset 的列对应于系列,从而 dataset 中每一列是一个维度(dimension)。# 'row':dataset 的行对应于系列,从而 dataset 中每一行是一个维度(dimension)。series_layout_by: str = "column",# 如果 series.data 没有指定,并且 dataset 存在,那么就会使用 dataset。# datasetIndex 指定本系列使用那个 dataset。dataset_index: types.Numeric = 0,# 是否裁剪超出坐标系部分的图形。柱状图:裁掉所有超出坐标系的部分,但是依然保留柱子的宽度is_clip: bool = True,# 柱状图所有图形的 zlevel 值。z_level: types.Numeric = 0,# 柱状图组件的所有图形的z值。控制图形的前后顺序。# z值小的图形会被z值大的图形覆盖。# z相比zlevel优先级更低,而且不会创建新的 Canvas。z: types.Numeric = 2,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),# 标记点配置项,参考 `series_options.MarkPointOpts`markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,# 标记线配置项,参考 `series_options.MarkLineOpts`markline_opts: Union[opts.MarkLineOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,# 可以定义 data 的哪个维度被编码成什么。encode: types.Union[types.JSFunc, dict, None] = None,)
柱状图数据项
class BarItem(# 数据项名称。name: Optional[str] = None,# 单个数据项的数值。value: Optional[Numeric] = None,# 单个柱条文本的样式设置,参考 `series_options.LabelOpts`。label_opts: Union[LabelOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[TooltipOpts, dict, None] = None,)
柱状图背景样式
class BarBackgroundStyleOpts(# 柱条的颜色。color: str = "rgba(180, 180, 180, 0.2)",# 柱条的描边颜色。border_color: str = "#000",# 柱条的描边宽度,默认不描边。border_width: Numeric = 0,# 柱条的描边类型,默认为实线,支持 'dashed', 'dotted'。border_type: str = "solid",# 圆角半径,单位px,支持传入数组分别指定 4 个圆角半径。 如:# barBorderRadius: 5, // 统一设置四个角的圆角大小# barBorderRadius: [5, 5, 0, 0] //(顺时针左上,右上,右下,左下)bar_border_radius: Union[Numeric, Sequence] = 0,# 图形阴影的模糊大小。# 该属性配合 shadowColor,shadowOffsetX, shadowOffsetY 一起设置图形的阴影效果。shadow_blur: Optional[Numeric] = None,# 阴影颜色。支持的格式同color。shadow_color: Optional[str] = None,# 阴影水平方向上的偏移距离。shadow_offset_x: Numeric = 0,# 阴影垂直方向上的偏移距离。shadow_offset_y: Numeric = 0,# 图形透明度。支持从 0 到 1 的数字,为 0 时不绘制该图形。opacity: Optional[Numeric] = None,)
5、箱形图
class Boxplot(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add_yaxis(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据y_axis: types.Sequence[types.Union[opts.BoxplotItem, dict]],# 是否选中图例is_selected: bool = True,# 使用的 x 轴的 index,在单个图表实例中存在多个 x 轴的时候有用。xaxis_index: Optional[Numeric] = None,# 使用的 y 轴的 index,在单个图表实例中存在多个 y 轴的时候有用。yaxis_index: Optional[Numeric] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),# 标记点配置项,参考 `series_options.MarkPointOpts`markpoint_opts: Union[opts.MarkPointOpts, dict] = opts.MarkPointOpts(),# 标记线配置项,参考 `series_options.MarkLineOpts`markline_opts: Union[opts.MarkLineOpts, dict] = opts.MarkLineOpts(),# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,)
箱形图数据项
class BoxplotItem(# 数据项名称。name: Optional[str] = None,# 单个数据项的数值。value: Optional[Numeric] = None,# 文本的样式设置,参考 `series_options.LabelOpts`。label_opts: Union[LabelOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[TooltipOpts, dict, None] = None,)
6、涟漪特效散点图
class EffectScatter(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add_yaxis(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据y_axis: types.Sequence[types.Union[opts.BoxplotItem, dict]],# 是否选中图例is_selected: bool = True,# 使用的 x 轴的 index,在单个图表实例中存在多个 x 轴的时候有用。xaxis_index: Optional[Numeric] = None,# 使用的 y 轴的 index,在单个图表实例中存在多个 y 轴的时候有用。yaxis_index: Optional[Numeric] = None,# 系列 label 颜色color: Optional[str] = None,# 标记图形形状symbol: Optional[str] = None,# 标记的大小symbol_size: Numeric = 10,# 标记的旋转角度。注意在 markLine 中当 symbol 为 'arrow' 时会忽略 symbolRotate 强制设置为切线的角度。symbol_rotate: types.Optional[types.Numeric] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),# 涟漪特效配置项,参考 `series_options.EffectOpts`effect_opts: Union[opts.EffectOpts, dict] = opts.EffectOpts(),# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,)
#### 涟漪特效散点图数据配置项
class EffectScatterItem(# 数据项名称。name: Union[str, Numeric] = None,# 数据项的值value: Union[str, Numeric] = None,# 单个数据标记的图形。symbol: Optional[str] = None,# 单个数据标记的大小symbol_size: Union[Sequence[Numeric], Numeric] = None,# 单个数据标记的旋转角度(而非弧度)。symbol_rotate: Optional[Numeric] = None,# 如果 symbol 是 path:// 的形式,是否在缩放时保持该图形的长宽比。symbol_keep_aspect: bool = False,# 单个数据标记相对于原本位置的偏移。symbol_offset: Optional[Sequence] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[LabelOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[TooltipOpts, dict, None] = None,)
7、热力图
class HeatMap(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add_yaxis(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# Y 坐标轴数据yaxis_data: types.Sequence[types.Union[opts.HeatMapItem, dict]],# 系列数据项value: types.Sequence[types.Union[opts.HeatMapItem, dict]],# 是否选中图例is_selected: bool = True,# 使用的 x 轴的 index,在单个图表实例中存在多个 x 轴的时候有用。xaxis_index: Optional[Numeric] = None,# 使用的 y 轴的 index,在单个图表实例中存在多个 y 轴的时候有用。yaxis_index: Optional[Numeric] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),# 标记点配置项,参考 `series_options.MarkPointOpts`markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,# 标记线配置项,参考 `series_options.MarkLineOpts`markline_opts: Union[opts.MarkLineOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,)
热力图配置项
class HeatMapItem(# 数据项名称。name: Optional[str] = None,# 数据项的值。value: Optional[Sequence] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[TooltipOpts, dict, None] = None,)
8、雷达图
pyclass Radar(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add_schema(# 雷达指示器配置项列表,参考 `RadarIndicatorItem`schema: Sequence[Union[opts.RadarIndicatorItem, dict]],# 雷达图绘制类型,可选 'polygon' 和 'circle'shape: Optional[str] = None,# 雷达的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标。# 支持设置成百分比,设置成百分比时第一项是相对于容器宽度,第二项是相对于容器高度。center: Optional[types.Sequence] = None,# 雷达的半径。可以为如下类型:# number:直接指定外半径值。# string:例如,'20%',表示外半径为可视区尺寸(容器高宽中较小一项)的 20% 长度。# Array.<number|string>:数组的第一项是内半径,第二项是外半径。每一项遵从上述 number string 的描述。radius: types.Optional[types.Union[types.Sequence, str]] = None,# 坐标系起始角度,也就是第一个指示器轴的角度。start_angle: types.Numeric = 90,# 文字样式配置项,参考 `series_options.TextStyleOpts`textstyle_opts: Union[opts.TextStyleOpts, dict] = opts.TextStyleOpts(),# 分割线配置项,参考 `series_options.SplitLineOpts`splitline_opt: Union[opts.SplitLineOpts, dict] = opts.SplitLineOpts(is_show=True),# 分隔区域配置项,参考 `series_options.SplitAreaOpts`splitarea_opt: Union[opts.SplitAreaOpts, dict] = opts.SplitAreaOpts(),# 坐标轴轴线配置项,参考 `global_options.AxisLineOpts`axisline_opt: Union[opts.AxisLineOpts, dict] = opts.AxisLineOpts(),# 极坐标系的径向轴。参考 `basic_charts.RadiusAxisOpts`radiusaxis_opts: types.RadiusAxis = None,# 极坐标系的角度轴。参考 `basic_charts.AngleAxisOpts`angleaxis_opts: types.AngleAxis = None,# 极坐标系配置,参考 `global_options.PolorOpts`polar_opts: types.Polar = None,)def add(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据项data: types.Sequence[types.Union[opts.RadarItem, dict]],# 是否选中图例is_selected: bool = True,# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', # 'diamond', 'pin', 'arrow', 'none'# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。symbol: Optional[str] = None,# 系列 label 颜色color: Optional[str] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: opts.LabelOpts = opts.LabelOpts(),# 线样式配置项,参考 `series_options.LineStyleOpts`linestyle_opts: opts.LineStyleOpts = opts.LineStyleOpts(),# 区域填充样式配置项,参考 `series_options.AreaStyleOpts`areastyle_opts: opts.AreaStyleOpts = opts.AreaStyleOpts(),# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,)
雷达图指示器数据项
class RadarIndicatorItem(# 指示器名称。name: Optional[str] = None,# 指示器的最大值,可选,建议设置min_: Optional[Numeric] = None,# 指示器的最小值,可选,默认为 0。max_: Optional[Numeric] = None,# 标签特定的颜色。color: Optional[str] = None,)
雷达图数据项
class RadarItem(# 数据项名称name: Optional[str] = None,# 单个数据项的数值。value: Optional[Numeric] = None,# 单个数据标记的图形。symbol: Optional[str] = None,# 单个数据标记的大小symbol_size: Union[Sequence[Numeric], Numeric] = None,# 单个数据标记的旋转角度(而非弧度)。symbol_rotate: Optional[Numeric] = None,# 如果 symbol 是 path:// 的形式,是否在缩放时保持该图形的长宽比。symbol_keep_aspect: bool = False,# 单个数据标记相对于原本位置的偏移。symbol_offset: Optional[Sequence] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[LabelOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[TooltipOpts, dict, None] = None,# 线样式配置项,参考 `series_options.LineStyleOpts`linestyle_opts: Union[LineStyleOpts, dict, None] = None,# 区域填充样式配置项,参考 `series_options.AreaStyleOpts`areastyle_opts: Union[AreaStyleOpts, dict, None] = None,)
9、词云图
class WordCloud(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据项,[(word1, count1), (word2, count2)]data_pair: Sequence,# 词云图轮廓,有 'circle', 'cardioid', 'diamond', 'triangle-forward', 'triangle', 'pentagon', 'star' 可选shape: str = "circle",# 自定义的图片(目前支持 jpg, jpeg, png, ico 的格式,其他的图片格式待测试)# 该参数支持:# 1、 base64 (需要补充 data 头);# 2、本地文件路径(相对或者绝对路径都可以)# 注:如果使用了 mask_image 之后第一次渲染会出现空白的情况,再刷新一次就可以了(Echarts 的问题)# Echarts Issue: https://github.com/ecomfe/echarts-wordcloud/issues/74mask_image: types.Optional[str] = None,# 单词间隔word_gap: Numeric = 20,# 单词字体大小范围word_size_range=None,# 旋转单词角度rotate_step: Numeric = 45,# 距离左侧的距离pos_left: types.Optional[str] = None,# 距离顶部的距离pos_top: types.Optional[str] = None,# 距离右侧的距离pos_right: types.Optional[str] = None,# 距离底部的距离pos_bottom: types.Optional[str] = None,# 词云图的宽度width: types.Optional[str] = None,# 词云图的高度height: types.Optional[str] = None,# 允许词云图的数据展示在画布范围之外is_draw_out_of_bound: bool = False,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 词云图文字的配置textstyle_opts: types.TextStyle = None,# 词云图文字阴影的范围emphasis_shadow_blur: types.Optional[types.Numeric] = None,# 词云图文字阴影的颜色emphasis_shadow_color: types.Optional[str] = None,)
10、主题河流
class ThemeRiver(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: Sequence,# 系列数据项data: types.Sequence[types.Union[opts.ThemeRiverItem, dict]],# 是否选中图例is_selected: bool = True,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 单轴组件配置项,参考 `global_options.SingleAxisOpts`singleaxis_opts: Union[opts.SingleAxisOpts, dict] = opts.SingleAxisOpts(),# 标记点样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: types.ItemStyle = None,):
主题河流数据项
class ThemeRiverItem(# 时间或主题的时间属性。date: Optional[str] = None,# 事件或主题在某个时间点的值。value: Optional[Numeric] = None,# 事件或主题的名称。name: Optional[str] = None,)
11、水球图
class Liquid(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据,格式为 [value1, value2, ....]data: Sequence,# 水球外形,有' circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' 可选。# 默认 'circle'。也可以为自定义的 SVG 路径。shape: str = "circle",# 波浪颜色。color: Optional[Sequence[str]] = None,# 背景颜色background_color: types.Union[str, dict, None] = None,# 是否显示波浪动画。is_animation: bool = True,# 是否显示边框。is_outline_show: bool = True,# 外沿边框宽度outline_border_distance: types.Numeric = 8,# 外沿样式outline_itemstyle_opts: types.ItemStyle = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(font_size=50, position="inside"),# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,)
12、漏斗图
class Funnel(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据项,格式为 [(key1, value1), (key2, value2)]data_pair: Sequence,# 是否选中图例is_selected: bool = True,# 系列 label 颜色color: Optional[str] = None,# 数据排序, 可以取 'ascending','descending','none'(表示按 data 顺序)sort_: str = "descending",# 数据图形间距gap: Numeric = 0,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,)
13、仪表盘
class Gauge(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据项,格式为 [(key1, value1), (key2, value2)]data_pair: Sequence,# 是否选中图例is_selected: bool = True,# 最小的数据值min_: Numeric = 0,# 最大的数据值max_: Numeric = 100,# 仪表盘平均分割段数split_number: Numeric = 10,# 仪表盘的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标。# 支持设置成百分比,设置百分比时第一项是相对于容器宽度,第二项是相对于容器高度。center: types.Sequence = None,# 仪表盘半径,可以是相对于容器高宽中较小的一项的一半的百分比,也可以是绝对的数值。radius: types.Union[types.Numeric, str] = "75%",# 仪表盘起始角度。圆心 正右手侧为0度,正上方为 90 度,正左手侧为 180 度。start_angle: Numeric = 225,# 仪表盘结束角度。end_angle: Numeric = -45,# 仪表盘刻度是否是顺时针增长。is_clock_wise: bool = True,# 轮盘内标题文本项标签配置项,参考 `chart_options.GaugeTitleOpts`title_label_opts: types.GaugeTitle = opts.GaugeTitleOpts(offset_center=["0%", "20%"]),# 轮盘内数据项标签配置项,参考 `chart_options.GaugeDetailOpts`detail_label_opts: types.GaugeDetail = opts.GaugeDetailOpts(formatter="{value}%", offset_center=["0%", "40%"]),# 仪表盘进度配置项,参考 `chart_options.GaugeProgressOpts`progress: types.GaugeProgress = opts.GaugeProgressOpts(),# 仪表盘指针配置项,参考 `chart_options.GaugePointerOpts`pointer: types.GaugePointer = opts.GaugePointerOpts(),# 仪表盘表盘中指针的固定点,参考 `chart_options.GaugeAnchorOpts`anchor: types.GaugeAnchor = opts.GaugeAnchorOpts(),# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 坐标轴刻度线配置项,参考 `global_options.AxisLineOpts`axisline_opts: types.AxisLine = None,# 坐标轴刻度指针样式配置项,参考 `global_options.AxisTickOpts`axistick_opts: types.AxisTick = None,# 坐标轴刻度标签样式配置项,参考 `global_options.LabelOpts`axislabel_opts: types.AxisLabel = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,)
仪表盘数据标题配置项
class GaugeTitleOpts(# 是否显示标题。is_show: bool = True,# 相对于仪表盘中心的偏移位置,数组第一项是水平方向的偏移,第二项是垂直方向的偏移。# 可以是绝对的数值,也可以是相对于仪表盘半径的百分比。offset_center: Sequence = None,# 文字的颜色。color: str = "#333",# 文字字体的风格。# 可选:'normal','italic','oblique'font_style: str = "normal",# 文字字体的粗细。# 可选:'normal','bold','bolder','lighter',100 | 200 | 300 | 400...font_weight: str = "normal",# 文字的字体系列。# 可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...font_family: str = "sans-serif",# 文字的字体大小。font_size: Numeric = 15,# 文字块背景色。# 可以使用颜色值,例如:'#123234', 'red', 'rgba(0,23,11,0.3)'。background_color: str = "transparent",# 文字块边框颜色。border_color: str = "transparent",# 文字块边框宽度。border_width: Numeric = 0,# 文字块的圆角。border_radius: Numeric = 0,# 文字块的内边距。例如:# padding: [3, 4, 5, 6]:表示 [上, 右, 下, 左] 的边距。# padding: 4:表示 padding: [4, 4, 4, 4]。# padding: [3, 4]:表示 padding: [3, 4, 3, 4]。# 注意,文字块的 width 和 height 指定的是内容高宽,不包含 padding。padding: Numeric = 0,# 文字块的背景阴影颜色。shadow_color: Optional[str] = "transparent",# 文字块的背景阴影长度。shadow_blur: Optional[Numeric] = 0,# 文字块的背景阴影 X 偏移。shadow_offset_x: Numeric = 0,# 文字块的背景阴影 Y 偏移。shadow_offset_y: Numeric = 0,# 文字超出宽度是否截断或者换行。配置width时有效# 'truncate' 截断,并在末尾显示ellipsis配置的文本,默认为...# 'break' 换行# 'breakAll' 换行,跟'break'不同的是,在英语等拉丁文中,'breakAll'还会强制单词内换行overflow: Optional[str] = "none",# 在 rich 里面,可以自定义富文本样式。利用富文本样式,可以在标签中做出非常丰富的效果。rich: Optional[dict] = None,# 是否开启标签的数字动画。is_value_animation: bool = True,)
仪表盘数据内容配置项
class GaugeDetailOpts(# 是否显示详情。is_show: bool = True,# 文字块背景色。# 可以是直接的颜色值,例如:'#123234', 'red', 'rgba(0,23,11,0.3)'。background_color: str = "transparent",# 文字块边框宽度。border_width: Numeric = 0,# 文字块边框颜色。border_color: str = "transparent",# 相对于仪表盘中心的偏移位置,数组第一项是水平方向的偏移,第二项是垂直方向的偏移。# 可以是绝对的数值,也可以是相对于仪表盘半径的百分比。offset_center: Sequence = [0, "-40%"],# 格式化函数或者字符串formatter: Optional[JSFunc] = None,# 文字的颜色。color: str = "auto",# 文字字体的风格。可选:'normal','italic','oblique'font_style: str = "normal",# 文字字体的粗细。可选:'normal','bold','bolder', 'lighter', 100 | 200 | 300 | 400...font_weight: str = "normal",# 文字的字体系列。还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...font_family: str = "sans-serif",# 文字的字体大小font_size: Numeric = 15,# 文字块的圆角。border_radius: Numeric = 0,# 文字块的内边距。例如:# padding: [3, 4, 5, 6]:表示 [上, 右, 下, 左] 的边距。# padding: 4:表示 padding: [4, 4, 4, 4]。# padding: [3, 4]:表示 padding: [3, 4, 3, 4]。# 注意,文字块的 width 和 height 指定的是内容高宽,不包含 padding。padding: Numeric = 0,# 文字块的背景阴影颜色。shadow_color: Optional[str] = "transparent",# 文字块的背景阴影长度。shadow_blur: Optional[Numeric] = 0,# 文字块的背景阴影 X 偏移。shadow_offset_x: Numeric = 0,# 文字块的背景阴影 Y 偏移。shadow_offset_y: Numeric = 0,# 文字超出宽度是否截断或者换行。配置width时有效# 'truncate' 截断,并在末尾显示ellipsis配置的文本,默认为...# 'break' 换行# 'breakAll' 换行,跟'break'不同的是,在英语等拉丁文中,'breakAll'还会强制单词内换行overflow: Optional[str] = "none",# 在 rich 里面,可以自定义富文本样式。利用富文本样式,可以在标签中做出非常丰富的效果。rich: Optional[dict] = None,# 是否开启标签的数字动画。is_value_animation: bool = True,)
仪表盘指针配置项
class GaugePointerOpts(# 是否显示指针。is_show: bool = True,# 指针长度,可以是绝对数值,也可以是相对于半径的半分比。length: Union[str, Numeric] = "80%",# 指针宽度。width: Numeric = 8,)
仪表盘指针固定点配置项
class GaugeAnchorOpts(# 是否显示固定点。is_show: bool = True,# 固定点是否显示在指针上面。is_show_above: bool = False,# 固定点大小。size: Numeric = 6,# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。# 可以通过 'path://' 将图标设置为任意的矢量路径。icon: str = "circle",# 相对于仪表盘中心的偏移位置,数组第一项是水平方向的偏移,第二项是垂直方向的偏移。可以是绝对的数值,也可以是相对于仪表盘半径的百分比。offset_center: Optional[Sequence] = None,# 如果图标是 path:// 的形式,是否在缩放时保持该图形的长宽比。is_keep_aspect: bool = False,# 指针固定点样式。itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,)
14、日历图
class Calendar(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts())def add(# 系列名称,用于 tooltip 的显示,legend 的图例筛选。series_name: str,# 系列数据,格式为 [(date1, value1), (date2, value2), ...]yaxis_data: Sequence,# ChartType 复合类型, 默认 `ChartType.HEATMAP`type_: types.Union[str, ChartType]# 是否选中图例is_selected: bool = True,# 日历图索引calendar_index: types.Optional[types.Numeric] = None,# 标签配置项,参考 `series_options.LabelOpts`label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),# 日历坐标系组件配置项,参考 `CalendarOpts`calendar_opts: Union[opts.CalendarOpts, dict, None] = None,# 提示框组件配置项,参考 `series_options.TooltipOpts`tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,# 图元样式配置项,参考 `series_options.ItemStyleOpts`itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,# 数据映射配置项,参考 `global_options.VisualMapOpts`visualmap_opts: types.VisualMap = None,)
日历图坐标系组件配置项
calendar_opts =opts.CalendarOpts(# calendar组件离容器左侧的距离。# left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,# 也可以是 'left', 'center', 'right'。# 如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。pos_left: Optional[str] = None,# calendar组件离容器上侧的距离。# top 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,# 也可以是 'top', 'middle', 'bottom'。# 如果 top 的值为'top', 'middle', 'bottom',组件会根据相应的位置自动对齐。pos_top: Optional[str] = None,# calendar组件离容器右侧的距离。# right 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。# 默认自适应。pos_right: Optional[str] = None,# calendar组件离容器下侧的距离。# bottom 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。# 默认自适应。pos_bottom: Optional[str] = None,# 日历坐标的布局朝向。可选:# 'horizontal', 'vertical'orient: Optional[str] = None,# 必填,日历坐标的范围 支持多种格式,使用示例:# 某一年 range: 2017# 某个月 range: '2017-02'# 某个区间 range: ['2017-01-02', '2017-02-23']# 注意 此写法会识别为['2017-01-01', '2017-02-01']# range: ['2017-01', '2017-02']range_: Union[str, Sequence, int] = None,# 星期轴的样式,参考 `series_options.LabelOpts`daylabel_opts: Union[LabelOpts, dict, None] = None,# 月份轴的样式,参考 `series_options.LabelOpts`monthlabel_opts: Union[LabelOpts, dict, None] = None,# 年份的样式,参考 `series_options.LabelOpts`yearlabel_opts: Union[LabelOpts, dict, None] = None,)
eg:
import datetimeimport randomfrom pyecharts import options as optsfrom pyecharts.charts import Calendarbegin = datetime.date(2017, 1, 1)end = datetime.date(2017, 12, 31)data = [[str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]for i in range((end - begin).days + 1)]c = (Calendar().add("",data,calendar_opts=opts.CalendarOpts(range_="2017",daylabel_opts=opts.CalendarDayLabelOpts(name_map="cn"),monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="cn"),),).set_global_opts(title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况(中文 Label)"),visualmap_opts=opts.VisualMapOpts(max_=20000,min_=500,orient="horizontal",is_piecewise=True,pos_top="230px",pos_left="100px",),).render("calendar_label_setting.html"))