pyecharts 应用5:视觉映射配置项VisualMapOpts

Posted 刘文巾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyecharts 应用5:视觉映射配置项VisualMapOpts相关的知识,希望对你有一定的参考价值。

1 库函数导入

class pyecharts.options.VisualMapOpts

2 形参说明 

VisualMapOpts一共有以下这些形参,之后的小节将对其中一个进行图例化说明(所以下面这一串代码可先不看)

class 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,
)

2.1 type_

映射过渡类型,可选,"color", "size"

以 pyecharts 应用4: 二维散点图_刘文巾的博客-CSDN博客 中的代码为例

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.faker import Faker

c = (
    Scatter()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Scatter-VisualMap(Color)"),
        visualmap_opts=opts.VisualMapOpts(type_='color',
                                          max_=150),
    )
    .render("scatter_visualmap_color.html")
)

 把type里面的'color'换成“size',其他不变:

 2.2 min_和max_

控制左边组件的最大最小值

比如我把那一行改成:

visualmap_opts=opts.VisualMapOpts(type_='size',
                                          min_=-100,
                                          max_=150),

那么有: 

2.3 range_text

左侧组件两端的文本

visualmap_opts=opts.VisualMapOpts(type_='size',
                                         range_text=['H','L'])

 

2.4 range_color

左侧以及圆圈组件过渡颜色(type_='color'时)

visualmap_opts=opts.VisualMapOpts(type_='color',
                                         range_color=['red','green']),

2.5 range_size 

圆圈的最大最小值(type_='size'时)

visualmap_opts=opts.VisualMapOpts(type_='size',
                                         range_size=[1,200])

 2.6 range_opacity 

图元以及其附属物(如文字标签)的透明度

visualmap_opts=opts.VisualMapOpts(type_='size',
                                         range_opacity=0.3)

 2.7 orient

如何放置 visualMap 组件,水平('horizontal')或者竖直('vertical')

默认竖直('vertical')

 visualmap_opts=opts.VisualMapOpts(type_='size',
                                         orient='horizontal'),

以上是关于pyecharts 应用5:视觉映射配置项VisualMapOpts的主要内容,如果未能解决你的问题,请参考以下文章

pyecharts应用2 柱状图

pyecharts学习

—— 基于PyEcharts的数据可视化

PyEcharts 深入学习

宝藏级PyEcharts 超详细的使用指南

echarts地图中城市与省份之间的切换