Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
def timeline_map() -> Timeline:
    map0 = (Map().add("商家A",
                      [list(z) for z in zip(Faker.provinces, Faker.values())],
                      "china").set_global_opts(
                          title_opts=opts.TitleOpts(title="Map-2015年某些数据"),
                          visualmap_opts=opts.VisualMapOpts(max_=200),
                      ))
    map1 = (Map().add("商家A",
                      [list(z) for z in zip(Faker.provinces, Faker.values())],
                      "china").set_global_opts(
                          title_opts=opts.TitleOpts(title="Map-2016年某些数据"),
                          visualmap_opts=opts.VisualMapOpts(max_=200),
                      ))
    map2 = (Map().add("商家A",
                      [list(z) for z in zip(Faker.provinces, Faker.values())],
                      "china").set_global_opts(
                          title_opts=opts.TitleOpts(title="Map-2017年某些数据"),
                          visualmap_opts=opts.VisualMapOpts(max_=200),
                      ))
    map3 = (Map().add("商家A",
                      [list(z) for z in zip(Faker.provinces, Faker.values())],
                      "china").set_global_opts(
                          title_opts=opts.TitleOpts(title="Map-2018年某些数据"),
                          visualmap_opts=opts.VisualMapOpts(max_=200),
                      ))
    map4 = (Map().add("商家A",
                      [list(z) for z in zip(Faker.provinces, Faker.values())],
                      "china").set_global_opts(
                          title_opts=opts.TitleOpts(title="Map-2019年某些数据"),
                          visualmap_opts=opts.VisualMapOpts(max_=200),
                      ))
    tl = (Timeline().add(map0,
                         "2015年").add(map1, "2016年").add(map2, "2017年").add(
                             map3, "2018年").add(map4, "2019年"))
    return tl
Ejemplo n.º 3
0
def line_connect_null() -> Line:
    y = Faker.values()
    y[3], y[5] = None, None
    c = (Line().add_xaxis(Faker.choose()).add_yaxis(
        "商家A", y, is_connect_nones=True).set_global_opts(
            title_opts=opts.TitleOpts(title="Line-连接空数据")))
    return c
Ejemplo n.º 4
0
def scatter_muti_dimension_data() -> Scatter:
    c = (
        Scatter()
        .add_xaxis(Faker.choose())
        .add_yaxis(
            "商家A",
            [list(z) for z in zip(Faker.values(), Faker.choose())],
            label_opts=opts.LabelOpts(
                formatter=JsCode(
                    "function(params){return params.value[1] +' : '+ params.value[2];}"
                )
            ),
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Scatter-多维度数据"),
            tooltip_opts=opts.TooltipOpts(
                formatter=JsCode(
                    "function (params) {return params.name + ' : ' + params.value[2];}"
                )
            ),
            visualmap_opts=opts.VisualMapOpts(
                type_="color", max_=150, min_=20, dimension=1
            ),
        )
    )
    return c
Ejemplo n.º 5
0
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)
        # 翻转XY轴,变成横条图,X轴竖向显示,Y轴横向显示
        # .reversal_axis()
        # 柱状图的每个商品的数量是显示在柱子顶部,翻转后数据要显示在右侧
        .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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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
Ejemplo n.º 9
0
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
Ejemplo n.º 10
0
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
Ejemplo n.º 11
0
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
Ejemplo n.º 12
0
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
Ejemplo n.º 13
0
def test_funnel_base(fake_writer):
    c = Funnel().add("商品",
                     [list(z) for z in zip(Faker.choose(), Faker.values())])
    c.render()
    _, content = fake_writer.call_args[0]
    assert_equal(c.theme, "white")
    assert_equal(c.renderer, "canvas")
Ejemplo n.º 14
0
def scatter_value_xaxis() -> Scatter:
    c = (Scatter().add_xaxis(Faker.values()).add_yaxis(
        "商家A", Faker.values()).set_global_opts(
            title_opts=opts.TitleOpts(title="Scatter-X 数值轴"),
            xaxis_opts=opts.AxisOpts(type_="value"),
            tooltip_opts=opts.TooltipOpts(formatter="{c}")))
    return c
Ejemplo n.º 15
0
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
Ejemplo n.º 16
0
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
Ejemplo n.º 17
0
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
Ejemplo n.º 18
0
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
Ejemplo n.º 19
0
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
Ejemplo n.º 20
0
def line_base():
    c = (
        Line()
        # 传入X轴数据,选择七个品类中的一种中的七样东西
        .add_xaxis(Faker.choose())
        # 传入Y轴数据,第一个参数是系列的名称,第二个参数是数据(随机选择20-150之间的整数)
        # 平滑曲线加上is_smooth=True即可自动平滑
        .add_yaxis('商家A', Faker.values(), is_smooth=True)
        # 隐藏某系列数据False,隐藏后图例是灰色,点击就可以显示出来,默认参数是True显示
        .add_yaxis('商家B', Faker.values(), is_smooth=True, 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
Ejemplo n.º 21
0
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
Ejemplo n.º 22
0
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
Ejemplo n.º 23
0
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
Ejemplo n.º 24
0
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
Ejemplo n.º 26
0
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
Ejemplo n.º 27
0
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
Ejemplo n.º 28
0
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
Ejemplo n.º 29
0
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
Ejemplo n.º 30
0
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