mirror of
https://github.com/pyecharts/pyecharts.git
synced 2026-01-18 16:52:31 +00:00
* Format: code * Remove: #coding=utf-8 * Add: 新增示例以及数据 json 文件 * Update: 移除 List 使用 Sequence 代替,移除 instance 判断 * Update: 修复 Geo Lines 线条丢失的问题 * Remove: 移除 Mark* data 类型判断 * Update: js_functions/bmap_js_funtions 分开处理 * Update: 解决 Grid 图 title 不为 List 的问题 * Update: self.color 对外暴露 * Test: 完善测试 * Update: 更新测试和示例 * Fix: test * Fix: 修复 Grid 不能正常渲染主题以及标题的问题 * Add: Bar 图新增 gap 参数 * Add: example * Update: 百度地图 ak 保存至环境变量中
308 lines
8.5 KiB
Python
308 lines
8.5 KiB
Python
from example.commons import Collector, Faker
|
||
from pyecharts import options as opts
|
||
from pyecharts.charts import Bar, Page
|
||
|
||
C = Collector()
|
||
|
||
|
||
@C.funcs
|
||
def bar_base() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values())
|
||
.add_yaxis("商家B", Faker.values())
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_is_selected() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values())
|
||
.add_yaxis("商家B", Faker.values(), is_selected=False)
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-默认取消显示某 Series"))
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_toolbox() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values())
|
||
.add_yaxis("商家B", Faker.values())
|
||
.set_global_opts(
|
||
title_opts=opts.TitleOpts(title="Bar-显示 ToolBox"),
|
||
toolbox_opts=opts.ToolboxOpts(),
|
||
legend_opts=opts.LegendOpts(is_show=False),
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_gap() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values(), gap="0%")
|
||
.add_yaxis("商家B", Faker.values(), gap="0%")
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-不同系列柱间距离"))
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_yaxis_formatter() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values())
|
||
.add_yaxis("商家B", Faker.values())
|
||
.set_global_opts(
|
||
title_opts=opts.TitleOpts(title="Bar-Y 轴 formatter"),
|
||
yaxis_opts=opts.AxisOpts(
|
||
axislabel_opts=opts.LabelOpts(formatter="{value} /月")
|
||
),
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_xyaxis_name() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values())
|
||
.add_yaxis("商家B", Faker.values())
|
||
.set_global_opts(
|
||
title_opts=opts.TitleOpts(title="Bar-XY 轴名称"),
|
||
yaxis_opts=opts.AxisOpts(name="我是 Y 轴"),
|
||
xaxis_opts=opts.AxisOpts(name="我是 X 轴"),
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_reversal_axis() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values())
|
||
.add_yaxis("商家B", Faker.values())
|
||
.reversal_axis()
|
||
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-翻转 XY 轴"))
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_stack0() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values(), stack="stack1")
|
||
.add_yaxis("商家B", Faker.values(), stack="stack1")
|
||
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-堆叠数据(全部)"))
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_stack1() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values(), stack="stack1")
|
||
.add_yaxis("商家B", Faker.values(), stack="stack1")
|
||
.add_yaxis("商家C", Faker.values())
|
||
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-堆叠数据(部分)"))
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_markpoint_type() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values())
|
||
.add_yaxis("商家B", Faker.values())
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-MarkPoint(指定类型)"))
|
||
.set_series_opts(
|
||
label_opts=opts.LabelOpts(is_show=False),
|
||
markpoint_opts=opts.MarkPointOpts(
|
||
data=[
|
||
opts.MarkPointItem(type_="max", name="最大值"),
|
||
opts.MarkPointItem(type_="min", name="最小值"),
|
||
opts.MarkPointItem(type_="average", name="平均值"),
|
||
]
|
||
),
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_markpoint_custom() -> Bar:
|
||
x, y = Faker.choose(), Faker.values()
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(x)
|
||
.add_yaxis(
|
||
"商家A",
|
||
y,
|
||
markpoint_opts=opts.MarkPointOpts(
|
||
data=[opts.MarkPointItem(name="自定义标记点", coord=[x[2], y[2]], value=y[2])]
|
||
),
|
||
)
|
||
.add_yaxis("商家B", Faker.values())
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-MarkPoint(自定义)"))
|
||
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_markline_type() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values())
|
||
.add_yaxis("商家B", Faker.values())
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-MarkLine(指定类型)"))
|
||
.set_series_opts(
|
||
label_opts=opts.LabelOpts(is_show=False),
|
||
markline_opts=opts.MarkLineOpts(
|
||
data=[
|
||
opts.MarkLineItem(type_="min", name="最小值"),
|
||
opts.MarkLineItem(type_="max", name="最大值"),
|
||
opts.MarkLineItem(type_="average", name="平均值"),
|
||
]
|
||
),
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_markline_custom() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values())
|
||
.add_yaxis("商家B", Faker.values())
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-MarkLine(自定义)"))
|
||
.set_series_opts(
|
||
label_opts=opts.LabelOpts(is_show=False),
|
||
markline_opts=opts.MarkLineOpts(
|
||
data=[opts.MarkLineItem(y=50, name="yAxis=50")]
|
||
),
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_datazoom_slider() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.days_attrs)
|
||
.add_yaxis("商家A", Faker.days_values)
|
||
.set_global_opts(
|
||
title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-水平)"),
|
||
datazoom_opts=[opts.DataZoomOpts()],
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_datazoom_slider_vertical() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.days_attrs)
|
||
.add_yaxis("商家A", Faker.days_values, color=Faker.rand_color())
|
||
.set_global_opts(
|
||
title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-垂直)"),
|
||
datazoom_opts=[opts.DataZoomOpts(orient="vertical")],
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_datazoom_inside() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.days_attrs)
|
||
.add_yaxis("商家A", Faker.days_values, color=Faker.rand_color())
|
||
.set_global_opts(
|
||
title_opts=opts.TitleOpts(title="Bar-DataZoom(inside)"),
|
||
datazoom_opts=[opts.DataZoomOpts(type_="inside")],
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_datazoom_both() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.days_attrs)
|
||
.add_yaxis("商家A", Faker.days_values, color=Faker.rand_color())
|
||
.set_global_opts(
|
||
title_opts=opts.TitleOpts(title="Bar-DataZoom(slider+inside)"),
|
||
datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")],
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_histogram() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values(), category_gap=0, color=Faker.rand_color())
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-直方图"))
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_rorate_xaxis_label() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(
|
||
[
|
||
"名字很长的X轴标签1",
|
||
"名字很长的X轴标签2",
|
||
"名字很长的X轴标签3",
|
||
"名字很长的X轴标签4",
|
||
"名字很长的X轴标签5",
|
||
"名字很长的X轴标签6",
|
||
]
|
||
)
|
||
.add_yaxis("商家A", [10, 20, 30, 40, 50, 40])
|
||
.add_yaxis("商家B", [20, 10, 40, 30, 40, 50])
|
||
.set_global_opts(
|
||
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
|
||
title_opts=opts.TitleOpts(title="Bar-旋转X轴标签", subtitle="解决标签名字过长的问题"),
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
Page().add(*[fn() for fn, _ in C.charts]).render()
|