精华内容
下载资源
问答
  • 图表数据分析工作,离不开图表的展示。有时候表展示的数据更加清晰,有时候绘制的...pyecharts将pythonecharts结合在一起,使得数据分析的结果展示更加方便,更加美观。数据准备比如这次遇到这样的需求:分析一...

    图表

    数据分析工作,离不开图表的展示。有时候表展示的数据更加清晰,有时候图绘制的形状更加直观。

    最常用的办公工具Excel就是不错的选择,但是自动化比较难。

    现在数据分析常用的编程语言是python,所以推荐一款用来绘制交互图的工具——pyecharts。

    pyecharts将python和echarts结合在一起,使得数据分析的结果展示更加方便,更加美观。

    数据准备

    比如这次遇到这样的需求:分析一下2020年数据与2019年同期数据的对比分析工作,数据大概如下图,一列日期,一列数据。(案例数据用excel随机生成),数据截止到2020-06月份。

    861f244f1adfd5a2a2cafb05024a0b02.png

    数据清洗

    1、要求对比2020年数据和2019年同月份的数据,这就需要有两个月份列表,如下:

    last_year_month = ['2019-01', '2019-02', '2019-03', '2019-04', '2019-05', '2019-06',]now_year_month = ['2020-01', '2020-02', '2020-03', '2020-04', '2020-05', '2020-06']# 下面代码可以自动生成上面的列表数据

    但是这样不“智能”,每个月都需要手动加一下,虽然简单但是麻烦。

    所以需要用代码自动生成两个对比的月份列表,我写的比较麻烦,应该有更简单的办法,我还没有找到。先这样写吧。

    import datetimenow_year = datetime.datetime.now().yearnow_month = datetime.datetime.now().monthnow_year_month = []last_year_month = []for m in range(1,now_month):    if m < 10:        now_year_month.append("{0}-0{1}".format(str(now_year),str(m)))        last_year_month.append("{0}-0{1}".format(str(now_year-1),str(m)))    else:        now_year_month.append("{0}-{1}".format(str(now_year),str(m)))        last_year_month.append("{0}-{1}".format(str(now_year-1),str(m)))

    2、对比的日期列表现在有了,但是图表应该如何展示?思来想去,最终决定——用月份做横坐标,数据作为纵坐标,将2019年和2020年的柱状图、折线图展示在图表中。

    初期柱状图效果如下:

    1cc6ac34daf1f5689bb9763e9445cda9.png

    在pyecharts1.8.0以上版本,可以直接将柱状图转为折线图。

    折线图效果如下:

    a68cc5eebb9e14751636ebf8152a47d9.png

    其中,两条虚线表示对应的平均值。

    版本V1制作过程

    版本V1要求对比同期的数据即可。

    具体步骤如下:

    1、将“日期”拆分为“年份”和“月份”

    df["年份"] = df["日期"].map(lambda x:str(int(x.split("-")[0]))+"年" if pd.notnull(x) else np.nan)df["月份"] = df["日期"].map(lambda x:str(int(x.split("-")[1]))+"月" if pd.notnull(x) else np.nan)

    2、筛选对应的数据,为了保证数据按照时间排好序,需要用sort_values将数据排序

    # 柱状图与折线图表示

    # 柱状图与折线图表示last_year_df = df[df["日期"].isin(last_year_month)].sort_values(by="日期")now_year_df = df[df["日期"].isin(now_year_month)].sort_values(by="日期")

    3、用pyecharts画图

    pyecharts图表教程有很多实例,只需要修改一下数据就可以完成很漂亮的交互式图表。

    from pyecharts.charts import Line, Gridfrom pyecharts import options as opts# V1版本def bar_line(subtitle_text=None):    x = now_year_df["月份"].astype(str).tolist()    y1 = last_year_df['数据'].tolist()    y2 = now_year_df['数据'].tolist()    bar = (        Bar(init_opts=opts.InitOpts(, ,bg_color="white"))           .add_xaxis(x)           .add_yaxis(               '2019年数据', y1, color="rgba(51,75,92,1)",               markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(name="均值",type_="average")]),            )           .add_yaxis(               '2020年数据', y2, color="rgba(194,53,49,1)",               markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(name="均值",type_="average")]),           )        .set_global_opts(            title_opts=opts.TitleOpts(,subtitle=subtitle_text),            toolbox_opts=opts.ToolboxOpts(),            legend_opts=opts.LegendOpts(orient='vertical', pos_right='1%', pos_top='20%'),            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=0)),            )        )    grid = (Grid(init_opts=opts.InitOpts(, ,bg_color="white"))            .add(bar, grid_opts=opts.GridOpts(pos_bottom="15%"))            )    return gridv1 = bar_line(subtitle_text="数据随机生成")v1.render_notebook()

    版本V2制作过程

    版本V2需要在图表上加上“阀值线”,以及展示同期下一个月的数据。比如:现在是2020-06,展示的数据要加上2019-07的数据。

    1、加上同期下一个月的数据

    import datetimenow_year = datetime.datetime.now().yearnow_month = datetime.datetime.now().monthnow_year_month = []last_year_month = []for m in range(1,now_month):    if m < 10:        now_year_month.append("{0}-0{1}".format(str(now_year),str(m)))        last_year_month.append("{0}-0{1}".format(str(now_year-1),str(m)))    else:        now_year_month.append("{0}-{1}".format(str(now_year),str(m)))        last_year_month.append("{0}-{1}".format(str(now_year-1),str(m)))# 将下一期的数据添加上去if 1011:    last_year_month.append("{0}-{1}".format(str(now_year-1),str(now_month)))elif now_month == 12:    passelse:    last_year_month.append("{0}-0{1}".format(str(now_year-1),str(now_month)))

    2、修改画图代码

    # 版本1def bar_line(subtitle_text=None):    # 横坐标用去年的月份    x = last_year_df["月份"].astype(str).tolist()    y1 = last_year_df['数据'].tolist()    y2 = now_year_df['数据'].tolist()    bar = (        Bar(init_opts=opts.InitOpts(width="1000px", height="500px",bg_color="white"))           .add_xaxis(x)           .add_yaxis(               '2019年数据', y1, color="rgba(51,75,92,1)",               markline_opts=opts.MarkLineOpts(data=[                   opts.MarkLineItem(name="均值",type_="average"),                   # 加上阀值线                   opts.MarkLineItem(name="阀值",y=3000),               ]),            )           .add_yaxis(               '2020年数据', y2, color="rgba(194,53,49,1)",               markline_opts=opts.MarkLineOpts(data=[                   opts.MarkLineItem(name="均值",type_="average"),                   # 加上阀值线                   opts.MarkLineItem(name="阀值",y=3000)               ]),           )        .set_global_opts(            title_opts=opts.TitleOpts(title='同期数据对比',subtitle=subtitle_text),            toolbox_opts=opts.ToolboxOpts(),            legend_opts=opts.LegendOpts(orient='vertical', pos_right='1%', pos_top='20%'),            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=0)),            )        )    grid = (Grid(init_opts=opts.InitOpts(width="1000px", height="500px",bg_color="white"))            .add(bar, grid_opts=opts.GridOpts(pos_bottom="15%"))            )    return gridv2 = bar_line(subtitle_text="数据随机生成")v2.render_notebook()

    效果图如下:

    92b6438bdfb2a32f3d94714da065cc00.png

    结论

    如果你的工作也需要画图,那么pyecharts就是一个很不错的工具,pyecharts官网的教程十分详细,建议阅读方式:先看案例,如果需要修改内容在看详细教程。

    8d9c5d1b19b029c0b4f3b152fdc936a9.png

    往期精彩回顾

    5ff1e41112352c65376c80685ecc0345.png

    “数字炸弹“——练习Python基础知识的小游戏

    Python3.9 正式版要来了,有哪些新特性?

    展开全文
  • 图表数据分析工作,离不开图表的展示。有时候表展示的数据更加清晰,有时候绘制的...pyecharts将pythonecharts结合在一起,使得数据分析的结果展示更加方便,更加美观。数据准备比如这次遇到这样的需求:分析一...

    图表

    数据分析工作,离不开图表的展示。有时候表展示的数据更加清晰,有时候图绘制的形状更加直观。

    最常用的办公工具Excel就是不错的选择,但是自动化比较难。

    现在数据分析常用的编程语言是python,所以推荐一款用来绘制交互图的工具——pyecharts。

    pyecharts将python和echarts结合在一起,使得数据分析的结果展示更加方便,更加美观。

    数据准备

    比如这次遇到这样的需求:分析一下2020年数据与2019年同期数据的对比分析工作,数据大概如下图,一列日期,一列数据。(案例数据用excel随机生成),数据截止到2020-06月份。

    0220b18c9ed86848ef79073968ebd94a.png

    数据清洗

    1、要求对比2020年数据和2019年同月份的数据,这就需要有两个月份列表,如下:

    last_year_month = ['2019-01', '2019-02', '2019-03', '2019-04', '2019-05', '2019-06',]now_year_month = ['2020-01', '2020-02', '2020-03', '2020-04', '2020-05', '2020-06']# 下面代码可以自动生成上面的列表数据

    但是这样不“智能”,每个月都需要手动加一下,虽然简单但是麻烦。

    所以需要用代码自动生成两个对比的月份列表,我写的比较麻烦,应该有更简单的办法,我还没有找到。先这样写吧。

    import datetimenow_year = datetime.datetime.now().yearnow_month = datetime.datetime.now().monthnow_year_month = []last_year_month = []for m in range(1,now_month):    if m < 10:        now_year_month.append("{0}-0{1}".format(str(now_year),str(m)))        last_year_month.append("{0}-0{1}".format(str(now_year-1),str(m)))    else:        now_year_month.append("{0}-{1}".format(str(now_year),str(m)))        last_year_month.append("{0}-{1}".format(str(now_year-1),str(m)))

    2、对比的日期列表现在有了,但是图表应该如何展示?思来想去,最终决定——用月份做横坐标,数据作为纵坐标,将2019年和2020年的柱状图、折线图展示在图表中。

    初期柱状图效果如下:

    816e2c25a1eccb2eda54878e086670a7.png

    在pyecharts1.8.0以上版本,可以直接将柱状图转为折线图。

    折线图效果如下:

    6f70e1711958329f82c9a521b26b6aeb.png

    其中,两条虚线表示对应的平均值。

    版本V1制作过程

    版本V1要求对比同期的数据即可。

    具体步骤如下:

    1、将“日期”拆分为“年份”和“月份”

    df["年份"] = df["日期"].map(lambda x:str(int(x.split("-")[0]))+"年" if pd.notnull(x) else np.nan)df["月份"] = df["日期"].map(lambda x:str(int(x.split("-")[1]))+"月" if pd.notnull(x) else np.nan)

    2、筛选对应的数据,为了保证数据按照时间排好序,需要用sort_values将数据排序

    # 柱状图与折线图表示

    # 柱状图与折线图表示last_year_df = df[df["日期"].isin(last_year_month)].sort_values(by="日期")now_year_df = df[df["日期"].isin(now_year_month)].sort_values(by="日期")

    3、用pyecharts画图

    pyecharts图表教程有很多实例,只需要修改一下数据就可以完成很漂亮的交互式图表。

    from pyecharts.charts import Line, Gridfrom pyecharts import options as opts# V1版本def bar_line(subtitle_text=None):    x = now_year_df["月份"].astype(str).tolist()    y1 = last_year_df['数据'].tolist()    y2 = now_year_df['数据'].tolist()    bar = (        Bar(init_opts=opts.InitOpts(, ,bg_color="white"))           .add_xaxis(x)           .add_yaxis(               '2019年数据', y1, color="rgba(51,75,92,1)",               markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(name="均值",type_="average")]),            )           .add_yaxis(               '2020年数据', y2, color="rgba(194,53,49,1)",               markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(name="均值",type_="average")]),           )        .set_global_opts(            title_opts=opts.TitleOpts(,subtitle=subtitle_text),            toolbox_opts=opts.ToolboxOpts(),            legend_opts=opts.LegendOpts(orient='vertical', pos_right='1%', pos_top='20%'),            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=0)),            )        )    grid = (Grid(init_opts=opts.InitOpts(, ,bg_color="white"))            .add(bar, grid_opts=opts.GridOpts(pos_bottom="15%"))            )    return gridv1 = bar_line(subtitle_text="数据随机生成")v1.render_notebook()

    版本V2制作过程

    版本V2需要在图表上加上“阀值线”,以及展示同期下一个月的数据。比如:现在是2020-06,展示的数据要加上2019-07的数据。

    1、加上同期下一个月的数据

    import datetimenow_year = datetime.datetime.now().yearnow_month = datetime.datetime.now().monthnow_year_month = []last_year_month = []for m in range(1,now_month):    if m < 10:        now_year_month.append("{0}-0{1}".format(str(now_year),str(m)))        last_year_month.append("{0}-0{1}".format(str(now_year-1),str(m)))    else:        now_year_month.append("{0}-{1}".format(str(now_year),str(m)))        last_year_month.append("{0}-{1}".format(str(now_year-1),str(m)))# 将下一期的数据添加上去if 1011:    last_year_month.append("{0}-{1}".format(str(now_year-1),str(now_month)))elif now_month == 12:    passelse:    last_year_month.append("{0}-0{1}".format(str(now_year-1),str(now_month)))

    2、修改画图代码

    # 版本1def bar_line(subtitle_text=None):    # 横坐标用去年的月份    x = last_year_df["月份"].astype(str).tolist()    y1 = last_year_df['数据'].tolist()    y2 = now_year_df['数据'].tolist()    bar = (        Bar(init_opts=opts.InitOpts(width="1000px", height="500px",bg_color="white"))           .add_xaxis(x)           .add_yaxis(               '2019年数据', y1, color="rgba(51,75,92,1)",               markline_opts=opts.MarkLineOpts(data=[                   opts.MarkLineItem(name="均值",type_="average"),                   # 加上阀值线                   opts.MarkLineItem(name="阀值",y=3000),               ]),            )           .add_yaxis(               '2020年数据', y2, color="rgba(194,53,49,1)",               markline_opts=opts.MarkLineOpts(data=[                   opts.MarkLineItem(name="均值",type_="average"),                   # 加上阀值线                   opts.MarkLineItem(name="阀值",y=3000)               ]),           )        .set_global_opts(            title_opts=opts.TitleOpts(title='同期数据对比',subtitle=subtitle_text),            toolbox_opts=opts.ToolboxOpts(),            legend_opts=opts.LegendOpts(orient='vertical', pos_right='1%', pos_top='20%'),            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=0)),            )        )    grid = (Grid(init_opts=opts.InitOpts(width="1000px", height="500px",bg_color="white"))            .add(bar, grid_opts=opts.GridOpts(pos_bottom="15%"))            )    return gridv2 = bar_line(subtitle_text="数据随机生成")v2.render_notebook()

    效果图如下:

    45f060b95e625114ac8de1e4deac07d1.png

    结论

    如果你的工作也需要画图,那么pyecharts就是一个很不错的工具,pyecharts官网的教程十分详细,建议阅读方式:先看案例,如果需要修改内容在看详细教程。

    4c7afb01ab863854a7685eb67c1dcc9c.png

    往期精彩回顾

    570e40e9d4b6e7b1334fb163e5e4bd4a.png

    “数字炸弹“——练习Python基础知识的小游戏

    Python3.9 正式版要来了,有哪些新特性?

    展开全文
  • 该文档是用于介绍echarts图形中的柱状图和折线图混合示例,因为官方文档事例中有,这里介绍的是柱状图与折线图Y轴上下对应,折线图正常显示,柱状图倒立展示,共用一个X轴的比较图例情况。
  • 图表 数据分析工作,离不开图表的展示。有时候表展示的数据更加清晰,有时候...比如这次遇到这样的需求:分析一下2020年数据与2019年同期数据的对比分析工作,数据大概如下,一列日期,一列数据。(案例数据用excel

    图表

    数据分析工作,离不开图表的展示。有时候表展示的数据更加清晰,有时候图绘制的形状更加直观。

    最常用的办公工具Excel就是不错的选择,但是自动化比较难。

    现在数据分析常用的编程语言是python,所以推荐一款用来绘制交互图的工具——pyecharts

    pyecharts将python和echarts结合在一起,使得数据分析的结果展示更加方便,更加美观。

    数据准备

    比如这次遇到这样的需求:分析一下2020年数据与2019年同期数据的对比分析工作,数据大概如下图,一列日期,一列数据。(案例数据用excel随机生成),数据截止到2020-06月份。

    数据

    数据清洗

    1、要求对比2020年数据和2019年同月份的数据,这就需要有两个月份列表,如下:

    last_year_month = ['2019-01', '2019-02', '2019-03', '2019-04', '2019-05', '2019-06',]
    now_year_month = ['2020-01', '2020-02', '2020-03', '2020-04', '2020-05', '2020-06']
    # 下面代码可以自动生成上面的列表数据
    
    

    但是这样不“智能”,每个月都需要手动加一下,虽然简单但是麻烦。

    所以需要用代码自动生成两个对比的月份列表,我写的比较麻烦,应该有更简单的办法,我还没有找到。先这样写吧。

    import datetime
    now_year = datetime.datetime.now().year
    now_month = datetime.datetime.now().month
    now_year_month = []
    last_year_month = []
    for m in range(1,now_month):
        if m < 10:
            now_year_month.append("{0}-0{1}".format(str(now_year),str(m)))
            last_year_month.append("{0}-0{1}".format(str(now_year-1),str(m)))
        else:
            now_year_month.append("{0}-{1}".format(str(now_year),str(m)))
            last_year_month.append("{0}-{1}".format(str(now_year-1),str(m)))
    

    2、对比的日期列表现在有了,但是图表应该如何展示?思来想去,最终决定——用月份做横坐标,数据作为纵坐标,将2019年和2020年的柱状图、折线图展示在图表中。

    初期柱状图效果如下:

    pyecharts柱状图

    在pyecharts1.8.0以上版本,可以直接将柱状图转为折线图。

    折线图效果如下:

    pyecharts折线图

    其中,两条虚线表示对应的平均值。

    版本V1制作过程

    版本V1要求对比同期的数据即可。

    具体步骤如下:

    1、将“日期”拆分为“年份”和“月份”

    df["年份"] = df["日期"].map(lambda x:str(int(x.split("-")[0]))+"年" if pd.notnull(x) else np.nan)
    df["月份"] = df["日期"].map(lambda x:str(int(x.split("-")[1]))+"月" if pd.notnull(x) else np.nan)
    

    2、筛选对应的数据,为了保证数据按照时间排好序,需要用sort_values将数据排序

    # 柱状图与折线图表示
    last_year_df = df[df["日期"].isin(last_year_month)].sort_values(by="日期")
    now_year_df = df[df["日期"].isin(now_year_month)].sort_values(by="日期")
    

    3、用pyecharts画图

    pyecharts图表教程有很多实例,只需要修改一下数据就可以完成很漂亮的交互式图表。

    from pyecharts.charts import Line, Grid
    from pyecharts import options as opts
    # V1版本
    def bar_line(subtitle_text=None):
        x = now_year_df["月份"].astype(str).tolist()
        y1 = last_year_df['数据'].tolist()
        y2 = now_year_df['数据'].tolist()
        bar = (
            Bar(init_opts=opts.InitOpts(width="1000px", height="500px",bg_color="white"))
               .add_xaxis(x)
               .add_yaxis(
                   '2019年数据', y1, color="rgba(51,75,92,1)",
                   markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(name="均值",type_="average")]),
                )
               .add_yaxis(
                   '2020年数据', y2, color="rgba(194,53,49,1)",
                   markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(name="均值",type_="average")]),
               )
            .set_global_opts(
                title_opts=opts.TitleOpts(title='同期数据对比',subtitle=subtitle_text),
                toolbox_opts=opts.ToolboxOpts(),
                legend_opts=opts.LegendOpts(orient='vertical', pos_right='1%', pos_top='20%'),
                xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=0)),
                )
            )
        grid = (Grid(init_opts=opts.InitOpts(width="1000px", height="500px",bg_color="white"))
                .add(bar, grid_opts=opts.GridOpts(pos_bottom="15%"))
                )
        return grid
    v1 = bar_line(subtitle_text="数据随机生成")
    v1.render_notebook()
    

    版本V2制作过程

    版本V2需要在图表上加上“阀值线”,以及展示同期下一个月的数据。比如:现在是2020-06,展示的数据要加上2019-07的数据。

    1、加上同期下一个月的数据

    import datetime
    now_year = datetime.datetime.now().year
    now_month = datetime.datetime.now().month
    now_year_month = []
    last_year_month = []
    for m in range(1,now_month):
        if m < 10:
            now_year_month.append("{0}-0{1}".format(str(now_year),str(m)))
            last_year_month.append("{0}-0{1}".format(str(now_year-1),str(m)))
        else:
            now_year_month.append("{0}-{1}".format(str(now_year),str(m)))
            last_year_month.append("{0}-{1}".format(str(now_year-1),str(m)))
    # 将下一期的数据添加上去
    if 10<now_month<=11:
        last_year_month.append("{0}-{1}".format(str(now_year-1),str(now_month)))
    elif now_month == 12:
        pass
    else:
        last_year_month.append("{0}-0{1}".format(str(now_year-1),str(now_month)))
    

    2、修改画图代码

    # 版本1
    def bar_line(subtitle_text=None):
        # 横坐标用去年的月份
        x = last_year_df["月份"].astype(str).tolist()
        y1 = last_year_df['数据'].tolist()
        y2 = now_year_df['数据'].tolist()
    
        bar = (
            Bar(init_opts=opts.InitOpts(width="1000px", height="500px",bg_color="white"))
               .add_xaxis(x)
               .add_yaxis(
                   '2019年数据', y1, color="rgba(51,75,92,1)",
                   markline_opts=opts.MarkLineOpts(data=[
                       opts.MarkLineItem(name="均值",type_="average"),
                       # 加上阀值线
                       opts.MarkLineItem(name="阀值",y=3000),
                   ]),
                )
               .add_yaxis(
                   '2020年数据', y2, color="rgba(194,53,49,1)",
                   markline_opts=opts.MarkLineOpts(data=[
                       opts.MarkLineItem(name="均值",type_="average"),
                       # 加上阀值线
                       opts.MarkLineItem(name="阀值",y=3000)
                   ]),
               )
            .set_global_opts(
                title_opts=opts.TitleOpts(title='同期数据对比',subtitle=subtitle_text),
                toolbox_opts=opts.ToolboxOpts(),
                legend_opts=opts.LegendOpts(orient='vertical', pos_right='1%', pos_top='20%'),
                xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=0)),
                )
            )
        grid = (Grid(init_opts=opts.InitOpts(width="1000px", height="500px",bg_color="white"))
                .add(bar, grid_opts=opts.GridOpts(pos_bottom="15%"))
                )
        return grid
    v2 = bar_line(subtitle_text="数据随机生成")
    v2.render_notebook()
    

    效果图如下:

    pyecharts柱状图

    结论

    如果你的工作也需要画图,那么pyecharts就是一个很不错的工具,pyecharts官网的教程十分详细,建议阅读方式:先看案例,如果需要修改内容在看详细教程。

    展开全文
  • 柱状图表示各区的在线率,同时显示一个折线,表示全市的平均值, 用于各区与全市平均的对比,是高于平均还是低于平均。 去官网搜了下,混合图表,也能满足我的需求,但有些差别, 混合图双坐标代表的是两种不同的...

    话不多说,先上效果图:
    highcharts图表

    今天接到一个需求,项目中加个在线率统计,
    柱状图表示各区的在线率,同时显示一个折线,表示全市的平均值,
    用于各区与全市平均的对比,是高于平均还是低于平均。
    去官网搜了下,混合图表,也能满足我的需求,但有些差别,
    混合图双坐标代表的是两种不同的数据,
    而我这个图 表示同一种数据,
    同一种数据用不同的图形展示出来。

    现贴出代码,此代码为.net aspx页面代码,请根据自己项目语言进行调整,js引用需要修改成自己本地文件位置。

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script src="../Js/jquery-1.8.3.min.js"></script>
        <script src="../Js/Highcharts-4.2.5/highcharts.js"></script>
        <script src="../Js/Highcharts-4.2.5/highcharts-more.js"></script>
        <script src="../Js/Highcharts-4.2.5/modules/data.js"></script>
        <script src="../Js/Highcharts-4.2.5/modules/exportingNew.js"></script>
        <%--<script src="../Js/Highcharts-4.2.5/highcharts-zh_CN.js"></script>--%>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <div id="container" style="border: 1px solid #BEDCF7; margin: auto; margin-top: 10px; width:700px;"></div>
            </div>
        </form>
        <script type="text/javascript">
            $(function () {
                var title = '各区数据在线率(%)';
                var w = 300;
                var h = 500;
                $('#container').highcharts({
                    chart: {
                        type: 'column'
                    },
                    title: {
                        text: title
                    },
                    xAxis: {
                        type: 'category',
                        categories: ["A区","B区","C区"],
                    },
                    yAxis: {
                        min: 0,
                        max: 100,
                        title: {
                            text: '在线率(%)'
                        }
                    },
                    tooltip: {
                        followPointer: true,
                        //pointFormatter: function () {
                        //    return '<span style="color:' + this.series.color + '">' + this.series.name + '</span>:<b>' + this.y + '</b><br/>';
                        //},
                        formatter: function () {//注:这里只适用本页面,一般不会这样显示
                            var val = '';
                            if (this.points.length > 0) {
                                val = '<div>在线率</div>';
                                for (var i = 0; i < this.points.length; i++) {
                                    if (this.points[i].series.name != '全市平均')
                                        val += '<span style="color:' + this.points[i].color + '">' + this.x + '</span>: <b>' + this.points[i].y + '</b><br/>';
                                    else
                                        val += '<span style="color:' + this.points[i].color + '">' + this.points[i].series.name + '</span>: <b>' + this.points[i].y + '</b><br/>';
                                }
                            }
                            return val;
                        },
                        shared: true,
                        useHTML: true
                    },
                    plotOptions: {
                        spline: {
                            marker: {
                                symbol: 'circle',
                                radius: 2,
                                enabled: false
                            }
                        },
                        column: {
                            //stacking: 'percent',//可用的参数值包括 null(不进行堆叠)、"normal"(普通堆叠) 和 "percent"(百分比堆叠)。
                            groupPadding: 0.08,//不同组柱子之间的间隙
                            maxPointWidth: 40//柱状最大宽度
                        }
                    },
                    credits: {
                        enabled: false
                    },
                    series: [{
                        'type': 'column',
                        'name': '在线率',
                        'data': [100, 80, 90]
                    }, {
                        'type': 'spline',
                        'dashStyle': 'Dash',
                        'name': '全市平均',
                        'data': [90, 90, 90],  //在线率之和除以总数量  (100+80+90)/3=90
                        'color': 'red'
                    }],
                    exporting: {
                        sourceWidth: w,
                        sourceHeight: h,
                        scale: 1,
                        buttons: {
                            contextButton: {
                                symbol: 'url(../Js/Highcharts-4.2.5/symbol.png)'
                            }
                        },
                        filename: title
                    }
                });
            });
        </script>
    </body>
    </html>
    

    程序猿
    微信扫码关注公众号,一起学习进步,里面有满满的干货,等你来拿。

    展开全文
  • 一、pyecharts简介pyecharts主要基于Web浏览器进行显示,绘制的图形比较多,包括折线图柱状图、饼图、漏斗图地图极坐标图等。使用pyecharts绘图代码量很少,但绘制的图形比较美观。pyecharts 分为 v0.5.X v1 ...
  • Excel图表的作用非常重要,...如上图所示,我们需要通过每款产品的销量转化率做柱状图来展示数据对比。因为销量是百分数,转化率是百分比,所以数据维度上面两组数据相差很大。通过这两组差异数据如果只是做柱状图...
  • 这个是应急做的,代码比较乱,没有用对象思想...控件使用属性: Items:需要图像化的数据,结构请看test文件(传入DataTable) Text:图表名称 DataStdName:标准值名称 DataName:对比值名称 ChatStyle :图表类型(1柱...
  • 目录 1. 简介 1-1. jxCell简介 1-2. 同类对比 1-2-1....2-1....2-2....2-3....1-1.... Jxcell是用于java开发环境的高性能电子表格组件,允许您创建、操作打印excel工作表。 Excel 97-2013兼容,支持300+ Excel...
  • 常见的统计图主要有折线图,散点图,柱状图,直方图和饼图,他们之间最明显的特征特点区别如下: 各种图名称 图意义 和区别 折线图 变化情况趋势 散点图 变量之间关系 柱状图 分类变量数量对比 直方图...
  • 柱状图和折线图我们是经常会用到的,但大家有想过两个图结合起来一起用么,这样的话可以更好的展示我们的数据,比如多个费用不同年度的费用情况,我们在一张图就可以展示了,不必做很多图,而且可以方便对比不同费用...
  • 在做分类的时候,常常要绘制不同方法的准确率进行对比,一般绘制折线图和条形图,今天就来讲一下如何绘制条形图以及如何添加文本。fromsklearn.datasetsimportmake_classificationfromsklearn.linear_...
  • Python绘制折线图之可视化神器pyecharts(一)

    千次阅读 多人点赞 2021-02-19 17:24:08
    目录 ...折线图和柱状图一样是我们日常可视化最多的一个图例,当然它的优势和适用场景相信大家肯定不陌生,要想快速的得出趋势,抓住趋势二字,就会很快的想到要用折线图来表示了。折线图是通过直线
  • 堆积柱状图(1)适用范围(2)丑图和好图的对比(附代码)3.饼图(1) 适用范围(2)演示代码(3)注意事项 4.直方图(1) 适用范围(2)演示代码(3)注意事项 5.折线图(1)适用范围(2)演示代码(3)注意...
  • 分别介绍一下每个图表吧散点图:显示出数据之间的相关性,数据量越大越直观折线图:显示时间序列的数据,可以看到随着时间发展的趋势柱状图:可以对比不同类别的占比区别,还可以看出每个类别子成分的占比情况,但是...
  • → 4个产品的销售额总量多系列柱状图,横向比较前十天4个产品的销售额动态对比分析(纵向对比分析)介绍:创建数据 → 30天内A产品的销售情况计算累积增长量逐期增长量通过折线图查看增长量情况通过折线
  • 接上回:Tao:数据可视化4-区间型、关系型地理型数据​zhuanlan.zhihu....柱状图 VS 条形图柱状图 VS 直方图堆叠柱状图 VS 百分比堆叠柱状图折线图 VS 面积图堆叠面积图 VS 百分比堆叠面积图堆叠面积图 VS 堆叠柱...
  • AndroidCharts是一款轻量级的图表显示控件,对比起Android-Charts和AChartEngine来说简单和活泼了很多,适合数据展示不需要太过详细专业的场合,它支持简单且带动画的折线图柱状图和饼状图。 其中的linechart...
  • 折线图 plot 散点图scatter 关系规律 柱状图 bar 统计和对比 直方图histogram 表示数据分布状况 饼图 占比 散点图绘制
  • 折线图和柱状图对比3.双坐标轴折线图4.柱形图顶端的折线图五.散点图1.基础2.带标识的散点图六.箱线图1.基础2.箱线图的作用 一.饼图 最适合采用饼图的情形: 只有一个数据系列(单分类数据)。 任何数据值都不为零...
  • AndroidCharts为折线图表添加y坐标 .

    千次阅读 2016-03-10 10:49:53
     AndroidCharts 是一款轻量级的图表显示控件,对比起Android-Charts和AChartEngine来说简单和活泼了很多,适合数据展示不需要太过详细专业的场合,它支持简单且带动画的折线图柱状图和饼状图。  其中的...
  • 直方

    2020-07-25 21:19:26
    绘制折线图和柱状图2.使用其他方法直方图均衡化3.使用OpenCV直方图均衡化4.CLAHE 有限对比适应性直方图均衡化3.2D直方图1.OpenCV中的2D直方图2.Numpy中的2D直方图3.绘制2D直方图4.直方图反向投影1.Numpy中的算法2....
  • Origin2017绘制热力

    千次阅读 2021-01-17 10:16:27
    热力图是多组数据对比绘图的很好替代品,但其绘图不像折线图柱状图那么简单,特此进行记录,以备遗忘。 首先需要将数据拷贝到工作表中,如下图是一组示例数据,可以根据自己的标签将xy的坐标轴设置成文字。 ...
  • Android图表MPandroidChart之曲线绘制教程

    万次阅读 多人点赞 2017-08-18 23:17:40
    前言: 本文介绍MpAndroidChart对...MPandroidChart是一款稳定实用的绘图库,可以绘制折线图、曲线图、柱状图、饼图、雷达图等,功能十分强大。对比了HelloChartWilliamChart图标库以后,觉得后两款的动画效果...
  • 狡猾的改变下方式,尤其是业绩下滑的时候,就别再用折线图和柱状图了!嵌套的饼状图,一起分析出季度和每个月的数据展示,这是我们的亮点就好比我们柱状折线复合图,可以同时展示对比和趋势一样,...
  • 适合指标在量级上不能差别过大,常用折线图柱状图。 2)相对数比较 包括结构分析、比例分析、空间比较分析、动态对比分析等,例如: 结构相对数:将同一总体内的部分数值与全部数值对比求得比重,用以说明事物的...

空空如也

空空如也

1 2 3 4
收藏数 63
精华内容 25
关键字:

对比柱状图和对比折线图