mirror of
https://github.com/pyecharts/pyecharts.git
synced 2026-01-25 17:06:27 +00:00
* support render chart at Zeppelin and nteract * Format: code * update test code * update test_map_globe code * update test_map_globe code again
417 lines
12 KiB
Python
417 lines
12 KiB
Python
from example.commons import Collector, Faker
|
||
from pyecharts import options as opts
|
||
from pyecharts.charts import Bar, Page
|
||
from pyecharts.commons.utils import JsCode
|
||
from pyecharts.globals import ThemeType
|
||
|
||
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_base_dict_config() -> Bar:
|
||
c = (
|
||
Bar({"theme": ThemeType.MACARONS})
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values())
|
||
.add_yaxis("商家B", Faker.values())
|
||
.set_global_opts(
|
||
title_opts={"text": "Bar-通过 dict 进行配置", "subtext": "我也是通过 dict 进行配置的"}
|
||
)
|
||
)
|
||
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_same_series_gap() -> Bar:
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(Faker.choose())
|
||
.add_yaxis("商家A", Faker.values(), category_gap="80%")
|
||
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-单系列柱间距离"))
|
||
)
|
||
return c
|
||
|
||
|
||
@C.funcs
|
||
def bar_different_series_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_histogram_color() -> Bar:
|
||
x = Faker.dogs + Faker.animal
|
||
xlen = len(x)
|
||
y = []
|
||
for idx, item in enumerate(x):
|
||
if idx <= xlen / 2:
|
||
y.append(
|
||
opts.BarItem(
|
||
name=item,
|
||
value=(idx + 1) * 10,
|
||
itemstyle_opts=opts.ItemStyleOpts(color="#749f83"),
|
||
)
|
||
)
|
||
else:
|
||
y.append(
|
||
opts.BarItem(
|
||
name=item,
|
||
value=(xlen + 1 - idx) * 10,
|
||
itemstyle_opts=opts.ItemStyleOpts(color="#d48265"),
|
||
)
|
||
)
|
||
|
||
c = (
|
||
Bar()
|
||
.add_xaxis(x)
|
||
.add_yaxis("series0", y, 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
|
||
|
||
|
||
@C.funcs
|
||
def bar_graphic_component() -> 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-Graphic 组件示例"),
|
||
graphic_opts=[
|
||
opts.GraphicGroup(
|
||
graphic_item=opts.GraphicItem(
|
||
rotation=JsCode("Math.PI / 4"),
|
||
bounding="raw",
|
||
right=110,
|
||
bottom=110,
|
||
z=100,
|
||
),
|
||
children=[
|
||
opts.GraphicRect(
|
||
graphic_item=opts.GraphicItem(
|
||
left="center", top="center", z=100
|
||
),
|
||
graphic_shape_opts=opts.GraphicShapeOpts(
|
||
width=400, height=50
|
||
),
|
||
graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(
|
||
fill="rgba(0,0,0,0.3)"
|
||
),
|
||
),
|
||
opts.GraphicText(
|
||
graphic_item=opts.GraphicItem(
|
||
left="center", top="center", z=100
|
||
),
|
||
graphic_textstyle_opts=opts.GraphicTextStyleOpts(
|
||
text="pyecharts bar chart",
|
||
font="bold 26px Microsoft YaHei",
|
||
graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(
|
||
fill="#fff"
|
||
),
|
||
),
|
||
),
|
||
],
|
||
)
|
||
],
|
||
)
|
||
)
|
||
return c
|
||
|
||
|
||
Page().add(*[fn() for fn, _ in C.charts]).render()
|