python柱状图类VisualMapOpts方法说明

news/2024/11/29 21:26:28/

# 这是一个类,继承了 `BasicOpts` 类
class VisualMapOpts(BasicOpts):
    # 初始化函数,定义了一些参数及其默认值。其中包括 range_color、range_size、和 range_opacity 等参数
    def __init__(
        self,
        is_show: bool = True,  # 是否显示视觉映射组件,默认为 True
        type_: str = "color",  # 视觉映射的类型,可选值为 "color" 或 "size",默认为 "color"
        min_: Numeric = 0,  # 传入数据的最小值,默认为 0
        max_: Numeric = 100,  # 传入数据的最大值,默认为 100
        range_text: Optional[Sequence] = None,  # 区间文字,可以是列表或元组,例如 ["low", "high"],默认为空
        range_color: Optional[Sequence[str]] = None,  # 区间颜色,可以是列表或元组,例如 ["#50a3ba", "#eac763", "#d94e5d"],默认为空
        range_size: Optional[Sequence[int]] = None,  # 区间大小,可以是列表或元组,例如 [20, 50],默认为空
        range_opacity: Union[Numeric, Sequence[Numeric]] = None,  # 区间透明度,可以是数字或列表或元组,例如 [0.3, 1],默认为空
        orient: str = "vertical",  # 组件方向,可选值为 "horizontal" 或 "vertical",默认为 "vertical"
        pos_left: Optional[str] = None,  # 组件的左侧距离,例如 "20%",默认为空
        pos_right: Optional[str] = None,  # 组件的右侧距离,例如 "20%",默认为空
        pos_top: Optional[str] = None,  # 组件的顶部距离,例如 "20%",默认为空
        pos_bottom: Optional[str] = None,  # 组件的底部距离,例如 "20%",默认为空
        padding: Union[int, Sequence[int]] = 5,  # 内部间距,默认为 5
        split_number: int = 5,  # 分割段数,默认为 5
        series_index: Union[Numeric, Sequence, None] = None,  # 控制只对某些系列进行映射,默认为空
        is_hover_link: bool = True,  # 鼠标悬停时是否启用联动高亮效果,默认为 True
        dimension: Optional[Numeric] = None,  # 指定 data 中哪个维度的数据用来映射,例如 0 或 "x",默认为空
        is_calculable: bool = True,  # 是否显示拖拽用的手柄(手柄可以用来调整选中范围),默认为 True
        is_piecewise: bool = False,  # 是否分段显示,默认为 False
        is_inverse: bool = False,  # 是否反转组件,默认为 False
        precision: Optional[int] = None,  # 数据的小数精度,例如 0 或 1,默认为空
        pieces: Optional[Sequence] = None,  # 分段信息,可以是列表或元组(仅当 is_piecewise 为 True 时有效),例如 [(0, 30), (30, 60), (60, 90)],默认为空
        out_of_range: Optional[Sequence] = None,  # 未在映射范围内的数据颜色,例如 "#999",默认为空
        item_width: int = 0,  # 分段控件单元的宽度(仅当 is_piecewise 为 True 且未指定宽度时有效),默认为 0
        item_height: int = 0,  # 分段控件单元的高度(仅当 is_piecewise 为 True 且未指定高度时有效),默认为 0
        background_color: Optional[str] = None,  # 组件背景颜色,默认为空
        border_color: Optional[str] = None,  # 组件边框颜色,默认为空
        border_width: int = 0,  # 组件边框宽度,默认为 0
        textstyle_opts: Union[TextStyleOpts, dict, None] = None,  # 文本样式设置,可为 TextStyleOpts 对象、字典或空值,默认为空
    ):
        # 初始化内部区间操作,并根据视觉映射类型设置不同的区间操作
        _inrange_op: dict = {}
        if type_ == "color":
            range_color = range_color or ["#50a3ba", "#eac763", "#d94e5d"]
            _inrange_op.update(color=range_color)
        elif type_ == "size":
            range_size = range_size or [20, 50]
            _inrange_op.update(symbolSize=range_size)
        if range_opacity is not None:
            _inrange_op.update(opacity=range_opacity)

        # 根据是否分段显示设置视觉映射类型
        _visual_typ = "piecewise" if is_piecewise else "continuous"

        # 根据是否分段显示及宽高未指定设置默认宽高
        if is_piecewise and item_width == 0 and item_height == 0:
            item_width, item_height = 20, 14
        elif item_width == 0 and item_height == 0:
            item_width, item_height = 20, 140

        # 存储参数到 opts 字典中
        self.opts: dict = {
            "show": is_show,
            "type": _visual_typ,
            "min": min_,
            "max": max_,
            "text": range_text,
            "textStyle": textstyle_opts,
            "inRange": _inrange_op,
            "calculable": is_calculable,
            "inverse": is_inverse,
            "precision": precision,
            "splitNumber": split_number,
            "dimension": dimension,
            "seriesIndex": series_index,
            "hoverLink": is_hover_link,
            "orient": orient,
            "left": pos_left,
            "top": pos_top,
            "bottom": pos_bottom,
            "right": pos_right,
            "padding": padding,
            "showLabel": True,
            "itemWidth": item_width,
            "itemHeight": item_height,
            "outOfRange": out_of_range,
            "backgroundColor": background_color,
            "borderColor": border_color,
            "borderWidth": border_width,
        }

        # 如果分段显示,则增加 pieces 参数
        if is_piecewise:
            self.opts.update(pieces=pieces)


http://www.ppmy.cn/news/72007.html

相关文章

node笔记_写文件(异步写入,同步写入,追加写入,流式写入)

文章目录 ⭐前言⭐写文件💖writeFile写入写一个txt文件 💖writeFileSync同步写入写一个txt文件 💖appendFile 追加写入追加写入一个txt 💖createWriteStream流式写入流式写入txt ⭐ 结束 ⭐前言 大家好,我是yma16&…

上海思翼信息技术有限公司【Java开发工程师】面经

文章目录 上海思翼信息技术有限公司【Java开发工程师】面经说一下能记起来的吧:一、填写个人资料表(两页)二、笔试题(30min 大约十五道题左右)三、一对一面试(大概30-40min)总结 如果这篇文章帮助到您了,请…

当电脑回收站图标不见后,这4种方法帮你快速恢复

我们都知道,在电脑上删除文件时,这些文件多数都会先停留在回收站中。当我们后悔删除这些文件时,往往可以通过回收站还原,可是有些小伙伴却发现自己的电脑回收站不见了,这无疑给我们的回收站文件恢复工作带来不便&#…

lambda、类

目录 1、lambda匿名函数 2、类 1、__init__() 2、继承 1、lambda匿名函数 语法 lambda arguments : expression 一个 lambda 函数,它把作为参数传入的数字加 10,然后打印结果 x lambda a : a 10print(x(5)) # 15 一个 lambda 函数&#x…

JavaWeb-Servlet的学习

Servlet 简介 Servlet是JavaWeb最为核心的内容,它是Java提供的一门动态web资源开发技术。 使用Servlet就可以实现,根据不同的登录用户在页面上动态显示不同内容。 Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义S…

华硕幻X 2023 Windows11原厂预装系统 工厂恢复安装带ASUSRecevory一键还原

华硕幻X 2023 Windows11原厂预装系统 工厂模式恢复安装带ASUSRecevory一键还原 文件地址:https://pan.baidu.com/s/1snKOsH3OMl3GZLqeAf-GLA?pwd8888 华硕工厂恢复系统 ,安装结束后带隐藏分区以及机器所有驱动软件 需准备一个16G左右空u盘进行恢复 …

用netty实现聊天

1.引入netty依赖 <dependencies> <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.92.Final</version> </dependency> </dependencies> 2.准备一个服务端ChatServer和…

ONNX模型推理使用多核CPU加速推理

目录 一、前言 二、准备 三、代码 四、推理时间比对 一、前言 对于嵌入式设备&#xff0c;将模型转成onnx后&#xff0c;可以方便的将pytorch或者tensorflow的模型在嵌入式设备上运行&#xff0c;但是onnx模型默认只调用一个CPU核心去做推理&#xff0c;所以有些嵌入式设备有…