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
def theme_macarons() -> Bar: c = (Bar(init_opts=opts.InitOpts(theme=ThemeType.MACARONS)).add_xaxis( Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis( "商家B", Faker.values()).add_yaxis("商家C", Faker.values()).add_yaxis( "商家D", Faker.values()).set_global_opts( title_opts=opts.TitleOpts("Theme-macarons"))) return c
def theme_roma() -> Bar: c = (Bar(init_opts=opts.InitOpts(theme=ThemeType.ROMA)).add_xaxis( Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis( "商家B", Faker.values()).add_yaxis("商家C", Faker.values()).add_yaxis( "商家D", Faker.values()).set_global_opts( title_opts=opts.TitleOpts("Theme-roma"))) return c
def theme_wonderland() -> Bar: c = (Bar(init_opts=opts.InitOpts(theme=ThemeType.WONDERLAND)).add_xaxis( Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis( "商家B", Faker.values()).add_yaxis("商家C", Faker.values()).add_yaxis( "商家D", Faker.values()).set_global_opts( title_opts=opts.TitleOpts("Theme-wonderland"))) return c
def theme_infographic() -> Bar: c = (Bar(init_opts=opts.InitOpts(theme=ThemeType.INFOGRAPHIC)).add_xaxis( Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis( "商家B", Faker.values()).add_yaxis("商家C", Faker.values()).add_yaxis( "商家D", Faker.values()).set_global_opts( title_opts=opts.TitleOpts("Theme-infographic"))) return c
def theme_walden() -> Bar: c = (Bar(init_opts=opts.InitOpts(theme=ThemeType.WALDEN)).add_xaxis( Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis( "商家B", Faker.values()).add_yaxis("商家C", Faker.values()).add_yaxis( "商家D", Faker.values()).set_global_opts( title_opts=opts.TitleOpts("Theme-walden"))) return c
def theme_westeros() -> Bar: c = (Bar(init_opts=opts.InitOpts(theme=ThemeType.WESTEROS)).add_xaxis( Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis( "商家B", Faker.values()).add_yaxis("商家C", Faker.values()).add_yaxis( "商家D", Faker.values()).set_global_opts( title_opts=opts.TitleOpts("Theme-westeros"))) return c
def theme_default() -> Bar: c = (Bar().add_xaxis(Faker.choose()).add_yaxis( "商家A", Faker.values()).add_yaxis("商家B", Faker.values()).add_yaxis( "商家C", Faker.values()).add_yaxis("商家D", Faker.values()).set_global_opts( title_opts=opts.TitleOpts("Theme-default"))) return c
def theme_vintage() -> Bar: c = (Bar(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE)).add_xaxis( Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis( "商家B", Faker.values()).add_yaxis("商家C", Faker.values()).add_yaxis( "商家D", Faker.values()).set_global_opts( title_opts=opts.TitleOpts("Theme-vintage"))) return c
def scatter_visualmap_color() -> Scatter: 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(max_=150), )) return c
def pie_base() -> Pie: c = (Pie().add( "", [list(z) for z in zip(Faker.choose(), Faker.values())]).set_global_opts( title_opts=opts.TitleOpts(title="Pie-基本示例")).set_series_opts( label_opts=opts.LabelOpts(formatter="{b}: {c}"))) return c
def funnel_label_inside() -> Funnel: c = (Funnel().add( "商品", [list(z) for z in zip(Faker.choose(), Faker.values())], label_opts=opts.LabelOpts(position="inside"), ).set_global_opts(title_opts=opts.TitleOpts(title="Funnel-Label(inside)"))) return c
def bar_base(): # 采用链式写法,先传入所有的数据和配置 c = ( Bar() # 传入X轴数据,选择七个品类中的一种中的七样东西 .add_xaxis(Faker.choose()) # 传入Y轴数据,第一个参数是系列的名称,第二个参数是数据(随机选择20-150之间的整数) # 堆叠显示,加入堆叠系列名称,同一个系统堆叠在同一个柱子上,不堆叠的不传参数 .add_yaxis('商家A', Faker.values(), stack='stack1') # 隐藏某系列数据False,隐藏后图例是灰色,点击就可以显示出来,默认参数是True显示 .add_yaxis('商家B', Faker.values(), stack='stack1', is_selected=True).add_yaxis('商家C', Faker.values()) # 柱状图的每个商品的数量是显示在柱子顶部,翻转后数据要显示在右侧 .set_series_opts(label_opts=opts.LabelOpts( is_show=True, color='black', position='top')) # 设置全局配置项 .set_global_opts( # 显示主副标题 title_opts=opts.TitleOpts(title='主标题:商家', subtitle='副标题:销售记录'), # 显示工具栏,工具栏用于刷新图片,下载图片,查看图片数据等 toolbox_opts=opts.ToolboxOpts(), # 隐藏图例False,默认显示图例True,没有该设置,默认所有图例都显示 legend_opts=opts.LegendOpts(is_show=True), # 设置Y轴坐标刻度,由于堆叠以后数据超过单独的最大数据150,需要将刻度调整 yaxis_opts=opts.AxisOpts(min_=0, max_=300))) # 绘制图片 pic = c.render() return pic
def bar_custom_bar_color() -> Bar: color_function = """ function (params) { if (params.value > 0 && params.value < 50) { return 'red'; } else if (params.value > 50 && params.value < 100) { return 'blue'; } return 'green'; } """ c = (Bar().add_xaxis(Faker.choose()).add_yaxis( "商家A", Faker.values(), itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function)), ).add_yaxis( "商家B", Faker.values(), itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function)), ).add_yaxis( "商家C", Faker.values(), itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function)), ).set_global_opts(title_opts=opts.TitleOpts(title="Bar-自定义柱状颜色"))) return c
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
def line_base(): c = ( Line() # 传入X轴数据,选择七个品类中的一种中的七样东西 .add_xaxis(Faker.choose()) # 传入Y轴数据,第一个参数是系列的名称,第二个参数是数据(随机选择20-150之间的整数) .add_yaxis('商家A', Faker.values()) # 隐藏某系列数据False,隐藏后图例是灰色,点击就可以显示出来,默认参数是True显示 .add_yaxis('商家B', Faker.values(), is_selected=True) # 设置数据配置项 # 每个商品的数量是显示在点的上部,改变数据的颜色 .set_series_opts(label_opts=opts.LabelOpts( is_show=True, color='red', position='top')) # 设置全局配置项 .set_global_opts( # 显示主副标题 title_opts=opts.TitleOpts(title='主标题:商家', subtitle='副标题:销售记录'), # 显示工具栏,工具栏用于刷新图片,下载图片,查看图片数据等 toolbox_opts=opts.ToolboxOpts(), # 隐藏图例False,默认显示图例True,没有该设置,默认所有图例都显示 legend_opts=opts.LegendOpts(is_show=True), # 设置Y轴坐标刻度 yaxis_opts=opts.AxisOpts(min_=0, max_=180))) # 绘制图片 pic = c.render() return pic
def effectscatter_symbol() -> EffectScatter: c = ( EffectScatter() .add_xaxis(Faker.choose()) .add_yaxis("", Faker.values(), symbol=SymbolType.ARROW) ).set_global_opts(title_opts=opts.TitleOpts(title="EffectScatter-不同Symbol")) return c
def bar_base_with_animation() -> Bar: c = (Bar(init_opts=opts.InitOpts(animation_opts=opts.AnimationOpts( animation_delay=1000, animation_easing="elasticOut"))).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
def bar_with_brush() -> 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-Brush示例", subtitle="我是副标题"), brush_opts=opts.BrushOpts(), )) return c
def line_step() -> Line: c = ( Line() .add_xaxis(Faker.choose()) .add_yaxis("商家A", Faker.values(), is_step=True) .set_global_opts(title_opts=opts.TitleOpts(title="Line-阶梯图")) ) return c
def pie_scroll_legend() -> Pie: c = (Pie().add( "", [ list(z) for z in zip( Faker.choose() + Faker.choose() + Faker.choose(), Faker.values() + Faker.values() + Faker.values(), ) ], center=["40%", "50%"], ).set_global_opts( title_opts=opts.TitleOpts(title="Pie-Legend 滚动"), legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"), ).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))) return c
def scatter_base() -> Scatter: c = ( Scatter() .add_xaxis(Faker.choose()) .add_yaxis("商家A", Faker.values()) .set_global_opts(title_opts=opts.TitleOpts(title="Scatter-基本示例")) ) return c
def grid_horizontal() -> Grid: scatter = (Scatter().add_xaxis(Faker.choose()).add_yaxis( "商家A", Faker.values()).add_yaxis("商家B", Faker.values()).set_global_opts( title_opts=opts.TitleOpts(title="Grid-Scatter"), legend_opts=opts.LegendOpts(pos_left="20%"), )) line = (Line().add_xaxis(Faker.choose()).add_yaxis( "商家A", Faker.values()).add_yaxis("商家B", Faker.values()).set_global_opts( title_opts=opts.TitleOpts(title="Grid-Line", pos_right="5%"), legend_opts=opts.LegendOpts(pos_right="20%"), )) grid = (Grid().add(scatter, grid_opts=opts.GridOpts(pos_left="55%")).add( line, grid_opts=opts.GridOpts(pos_right="55%"))) return grid
def theme_purple_passion() -> Bar: c = (Bar(init_opts=opts.InitOpts( theme=ThemeType.PURPLE_PASSION)).add_xaxis(Faker.choose()).add_yaxis( "商家A", Faker.values()).add_yaxis("商家B", Faker.values()).add_yaxis( "商家C", Faker.values()).add_yaxis( "商家D", Faker.values()).set_global_opts( title_opts=opts.TitleOpts("Theme-purple-passion"))) return c
def scatter_visualmap_size() -> Scatter: 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), )) return c
def effectscatter_base() -> EffectScatter: c = ( EffectScatter() .add_xaxis(Faker.choose()) .add_yaxis("", Faker.values()) .set_global_opts(title_opts=opts.TitleOpts(title="EffectScatter-基本示例")) ) return c
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
def funnel_label_inside(): data = [z for z in zip(Faker.choose(), Faker.values())] c = (Funnel().add( 'Items', data, label_opts=opts.LabelOpts(position='inside')).set_global_opts( title_opts=opts.TitleOpts(title='Funnel-Label (insider)'))) return c
def funnel_base(): data = [z for z in zip(Faker.choose(), Faker.values())] print(data) c = (Funnel().add( 'Items', data).set_global_opts(title_opts=opts.TitleOpts(title='Funnel-base'))) return c
def line_base() -> Line: c = Line() c.add_xaxis(Faker.choose()) c.add_yaxis("商家A", Faker.values()) c.set_global_opts(legend_opts=opts.LegendOpts(type_="scroll", textstyle_opts=opts.TextStyleOpts(color="#000000"))) c.set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例")) c.render() return c