先看对y轴的一些属性设置
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.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,
)
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-显示分割线"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
)
.render("C:/scatter_splitline.html")
)
import pyecharts.options as opts
from pyecharts.charts import Scatter
# X,Y数据
data = [
[10.0, 8.04],
[8.0, 6.95],
[13.0, 7.58],
[9.0, 8.81],
[11.0, 8.33],
[14.0, 9.96],
[6.0, 7.24],
[4.0, 4.26],
[12.0, 10.84],
[7.0, 4.82],
[5.0, 5.68],
]
# 对X数据排序
data.sort(key=lambda x: x[0])
x_data = [d[0] for d in data] # x数据
y_data = [d[1] for d in data] # y数据
c = (
#散点图
#初始化
Scatter(init_opts=opts.InitOpts(width="900px", height="600px"))
.add_xaxis(xaxis_data=x_data)
.add_yaxis(
# 系列名称
series_name="",
# 系列数据
y_axis=y_data,
# 标记的大小
symbol_size=20,
# 标记的图形
symbol = None,
# 是否选中图例
is_selected = True,
# 系列 label 颜色
color = '#00CCFF',
# 标签配置项
label_opts=opts.LabelOpts(is_show=False), #不显示标签
)
#系统配置项
.set_series_opts()
#全局配置项
.set_global_opts(
#x轴配置
xaxis_opts=opts.AxisOpts(
name ='x轴',
name_location = 'center',
name_gap = 15,
# 坐标轴类型 'value': 数值轴
type_="value",
# 分割线配置项
splitline_opts=opts.SplitLineOpts(is_show=True) #显示分割线
),
#y轴配置
yaxis_opts=opts.AxisOpts(
name ='y轴',
# 坐标轴类型 'value': 数值轴
type_="value",
# 坐标轴刻度配置项
axistick_opts=opts.AxisTickOpts(is_show=True),#显示刻度
# 分割线配置项
splitline_opts=opts.SplitLineOpts(is_show=True),#显示分割线
),
# 提示框配置项
tooltip_opts=opts.TooltipOpts(is_show=False), # 不显示提示框组件
)
.render("C:/basic_scatter_chart.html")
)
from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.commons.utils import JsCode
from pyecharts.faker import Faker
c = (
Scatter()
.add_xaxis(Faker.choose())
.add_yaxis(
"商家A",
[list(z) for z in zip(Faker.values(), Faker.choose())],
# 标记的大小
symbol_size=20,
#标签配置项
label_opts=opts.LabelOpts(
# 回调函数,回调函数格式:
# (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=JsCode(
# 构造回调函数
"function(params){return params.value[1] +' : '+ params.value[2];}"
) #params.value[1]对应y轴Faker.values() : params.value[2]对应y轴Faker.choose()
),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="Scatter-多维度数据"),
# 提示框配置项
tooltip_opts=opts.TooltipOpts(
formatter=JsCode(
# 构造回调函数
"function (params) {return params.name + ' : ' + params.value[2];}"
) #params.name对应x轴的Faker.choose() : params.value[2]对应y轴Faker.choose()
),
# 视觉映射配置项
visualmap_opts=opts.VisualMapOpts(
#颜色映射
type_="color",
max_=150,
min_=20,
dimension=1 ## 组件映射维度
),
)
.render("C:/scatter_multi_dimension.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(),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")
)