不分段型
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
c = (
Map()
.add("", [list(z) for z in zip(Faker.guangdong_city, Faker.values())], "广东",is_map_symbol_show=False,) #不显示标记图形
.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) #不显示标签(城市名)
.set_global_opts(
# VisualMapOpts:视觉映射配置项
visualmap_opts=opts.VisualMapOpts(
# 是否显示视觉映射配置
is_show = True,
# 映射过渡类型,可选,"color", "size" (颜色映射还是大小映射)(重要!!!)
type_ = "color",
# 指定 visualMapPiecewise 组件的最小值。
min_ = 0,
# 指定 visualMapPiecewise 组件的最大值。
max_ = 100,
# 两端的文本,如['High', 'Low'],(自定义) range_text: Union[list, tuple] = None,
range_text = ['高', '低'],
# visualMap 组件过渡颜色 (可以自定义)(颜色从淡到深) range_color: Union[Sequence[str]] = None,
range_color = ['#CCEBFF','#22DDDD','#0099FF','#003D66'],
# visualMap 组件过渡 symbol 大小.range_size: Union[Sequence[int]] = None,
range_size = None,
# visualMap 图元以及其附属物(如文字标签)的透明度。range_opacity: Optional[Numeric] = None,
range_opacity = None,
# 如何放置 visualMap 组件,水平('horizontal')或者竖直('vertical')。
orient = 'horizontal',
# visualMap 组件离容器左侧的距离。
# left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,
# 也可以是 'left', 'center', 'right'。
# 如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。
pos_left = 'center',
# visualMap 组件离容器右侧的距离(同上)。
# right 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。
pos_right = None,
# visualMap 组件离容器上侧的距离(同上)。
# top 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,
# 也可以是 'top', 'middle', 'bottom'。
# 如果 top 的值为'top', 'middle', 'bottom',组件会根据相应的位置自动对齐。
pos_top = None,
# visualMap 组件离容器下侧的距离(同上)。
# bottom 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。
pos_bottom = None,
# 对于连续型数据,自动平均切分成几段。默认为5段。连续数据的范围需要 max 和 min 来指定
split_number = 5,
# 指定取哪个系列的数据,默认取所有系列。series_index: Union[Numeric, Sequence, None] = None,
series_index = None,
# 组件映射维度Optional[Numeric]
dimension = None,
# 是否显示拖拽用的手柄(手柄能拖拽调整选中范围)。
is_calculable = True,
# 是否为分段型
is_piecewise = False,
# 是否反转 visualMap 组件(默认False)
is_inverse = True,
# 自定义的每一段的范围,以及每一段的文字,以及每一段的特别的样式。例如:
# 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 = None,
# 定义 在选中范围外 的视觉元素。(用户可以和 visualMap 组件交互,用鼠标或触摸选择范围)
# 可选的视觉元素有:
# symbol: 图元的图形类别。
# symbolSize: 图元的大小。
# color: 图元的颜色。
# colorAlpha: 图元的颜色的透明度。
# opacity: 图元以及其附属物(如文字标签)的透明度。
# colorLightness: 颜色的明暗度,参见 HSL。
# colorSaturation: 颜色的饱和度,参见 HSL。
# colorHue: 颜色的色调,参见 HSL。
out_of_range = None,
# 图形的宽度,即长条的宽度。
item_width = 0,
# 图形的高度,即长条的高度。
item_height = 0,
# visualMap 组件的背景色。
background_color = '#CCCC33',
# visualMap 组件的边框颜色。
border_color = '#EE1111',
# visualMap 边框线宽,单位px。
border_width = 2,
# 文字样式配置项,参考 `series_options.TextStyleOpts`
textstyle_opts = None,
)
)
.render("C:/map_guangdong.html")
)
分段型
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
cq_city = ["北碚区", "巴南区", "渝北区", "九龙坡区","渝中区","江北区","南岸区","沙坪坝区","大渡口区"]
GDP_value = [552, 781, 1443, 1211,1204,1028,725,936,228]
c = (
Map()
.add("", [list(z) for z in zip(cq_city, GDP_value)], "重庆",is_map_symbol_show=False,) #不显示标记图形
.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) #不显示标签(城市名)
.set_global_opts(
# VisualMapOpts:视觉映射配置项
visualmap_opts=opts.VisualMapOpts(max_=2000,
is_piecewise=True,
pieces=[
{"max": 1499, "min": 1200, "label": ">=1200", "color": "#B40404"},
{"max": 1199, "min": 900, "label": "900-1199", "color": "#DF0101"},
{"max": 899, "min": 600, "label": "600-899", "color": "#F78181"},
{"max": 599, "min": 300, "label": "300-599", "color": "#F5A9A9"},
{"max": 299, "min": 0, "label": "0-299", "color": "#FFFFCC"},
]
))
.render("C:/map_guangdong.html")
)
颜色映射
暂时不知道怎么把第三变量映射到颜色中,目前映都是y轴数据
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(),symbol_size=20)
.set_global_opts(
title_opts=opts.TitleOpts(title="Scatter-VisualMap(Color)"),
visualmap_opts=opts.VisualMapOpts(
type_='color',
max_=150,
pos_bottom = 50,pos_right = 0),
)
.render("C:/scatter_visualmap_color.html")
)
大小映射
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())
.add_yaxis("商家B", Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Scatter-VisualMap(Size)"),
visualmap_opts=opts.VisualMapOpts(
type_="size", #映射大小
max_=150,
min_=20,
pos_bottom = 50,pos_right = 0),
)
.render("C:/scatter_visualmap_size.html")
)