예제 #1
0
def test_more():
    page = Page()

    # line
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line = Line("折线图示例")
    line.add("最高气温",
             attr, [11, 11, 15, 13, 12, 13, 10],
             mark_point=["max", "min"],
             mark_line=["average"])
    line.add("最低气温",
             attr, [1, -2, 2, 5, 3, 2, 0],
             mark_point=["max", "min"],
             mark_line=["average"])
    page.add(line)

    # pie
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [11, 12, 13, 10, 10, 10]
    pie = Pie("饼图-圆环图示例", title_pos='center')
    pie.add("",
            attr,
            v1,
            radius=[40, 75],
            label_text_color=None,
            is_label_show=True,
            legend_orient='vertical',
            legend_pos='left')
    page.add(pie)

    # kline
    v1 = [[2320.26, 2320.26, 2287.3,
           2362.94], [2300, 2291.3, 2288.26, 2308.38],
          [2295.35, 2346.5, 2295.35, 2345.92],
          [2347.22, 2358.98, 2337.35, 2363.8],
          [2360.75, 2382.48, 2347.89, 2383.76],
          [2383.43, 2385.42, 2371.23, 2391.82],
          [2377.41, 2419.02, 2369.57, 2421.15],
          [2425.92, 2428.15, 2417.58,
           2440.38], [2411, 2433.13, 2403.3, 2437.42],
          [2432.68, 2334.48, 2427.7, 2441.73],
          [2430.69, 2418.53, 2394.22, 2433.89],
          [2416.62, 2432.4, 2414.4, 2443.03],
          [2441.91, 2421.56, 2418.43, 2444.8],
          [2420.26, 2382.91, 2373.53, 2427.07],
          [2383.49, 2397.18, 2370.61, 2397.94],
          [2378.82, 2325.95, 2309.17, 2378.82],
          [2322.94, 2314.16, 2308.76, 2330.88],
          [2320.62, 2325.82, 2315.01, 2338.78],
          [2313.74, 2293.34, 2289.89, 2340.71],
          [2297.77, 2313.22, 2292.03, 2324.63],
          [2322.32, 2365.59, 2308.92, 2366.16],
          [2364.54, 2359.51, 2330.86, 2369.65],
          [2332.08, 2273.4, 2259.25, 2333.54],
          [2274.81, 2326.31, 2270.1, 2328.14],
          [2333.61, 2347.18, 2321.6, 2351.44],
          [2340.44, 2324.29, 2304.27, 2352.02],
          [2326.42, 2318.61, 2314.59, 2333.67],
          [2314.68, 2310.59, 2296.58, 2320.96],
          [2309.16, 2286.6, 2264.83, 2333.29],
          [2282.17, 2263.97, 2253.25, 2286.33],
          [2255.77, 2270.28, 2253.31, 2276.22]]
    kline = Kline("K 线图示例")
    kline.add("日K", ["2017/7/{}".format(i + 1) for i in range(31)],
              v1,
              is_datazoom_show=True)
    page.add(kline)

    # radar
    schema = [("销售", 6500), ("管理", 16000), ("信息技术", 30000), ("客服", 38000),
              ("研发", 52000), ("市场", 25000)]
    v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
    v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
    radar = Radar("雷达图示例")
    radar.config(schema)
    radar.add("预算分配", v1, is_splitline=True, is_axisline_show=True)
    radar.add("实际开销",
              v2,
              label_color=["#4e79a7"],
              is_area_show=False,
              legend_selectedmode='single')
    page.add(radar)

    # scatter3d
    import random
    data = [[
        random.randint(0, 100),
        random.randint(0, 100),
        random.randint(0, 100)
    ] for _ in range(80)]
    scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR)
    page.add(scatter3D)

    # wordcloud
    name = [
        'Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World',
        'Charter Communications', 'Chick Fil A', 'Planet Fitness',
        'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham',
        'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham',
        'Rita Ora', 'Serena Williams', 'NCAA baseball tournament',
        'Point Break'
    ]
    value = [
        10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582,
        555, 550, 462, 366, 360, 282, 273, 265
    ]
    wordcloud = WordCloud(width=1300, height=620)
    wordcloud.add("", name, value, word_size_range=[30, 100], rotate_step=66)
    page.add(wordcloud)

    # liquid
    liquid = Liquid("水球图示例")
    liquid.add("Liquid", [0.6])
    page.add(liquid)
    page.render()
예제 #2
0
def CreateCharts():
    page = Page()

    app = xw.App(visible=False, add_book=False)
    app.display_alerts = False
    app.screen_updating = False
    book = app.books.open(filepath)
    sheet = book.sheets['sheet1']

    _list1 = []
    _list2 = []
    _list3 = []
    _list4 = []
    _list5 = []
    # 从 excel 中获取数据
    cells1 = sheet.range('F3:K3').value  # 第 1 支球队
    cells2 = sheet.range('F4:K4').value  # 第 2 支球队
    cells3 = sheet.range('F5:K5').value  # 第 3 支球队
    cells4 = sheet.range('F6:K6').value  # 第 4 支球队
    cells5 = sheet.range('F7:K7').value  # 第 5 支球队

    # print(data1)
    for cell1,cell2,cell3,cell4,cell5 in zip(cells1,cells2,cells3,cells4,cells5):
        _list1.append(cell1)
        _list2.append(cell2)
        _list3.append(cell3)
        _list4.append(cell4)
        _list5.append(cell5)

    v1 = [_list1]
    v2 = [_list2]
    v3 = [_list3]
    v4 = [_list4]
    v5 = [_list5]

    chart = Radar("进攻属性")
    schema = [
        ("进球", 15),
        ("射门", 20),
        ("射正", 9),
        ("绝佳机会", 20),
        ("机会把握率", 70),
        ("过人", 16),
        # ("被侵犯", 18),
        # ("越位", 5),
    ]

    chart.config(schema)
    chart.add("利物浦", v1)
    chart.add("诺维奇", v2)
    chart.add("曼城", v3)
    chart.add("西汉姆联", v4)
    chart.add("伯恩利", v5)
    page.add(chart)


    # 玫瑰图
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v2 = [19, 21, 32, 20, 20, 33]
    chart = Pie("饼图-玫瑰图示例", title_pos='center')
    chart.add("商品A", attr, v2, is_random=True,
              radius=[30, 75], rosetype='area',
              is_legend_show=False, is_label_show=True)
    page.add(chart)

    # 雷达图
    schema = [
        ("销售", 6500), ("管理", 16000), ("信息技术", 30000),
        ("客服", 38000), ("研发", 52000), ("市场", 25000)
    ]
    v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
    v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
    v3 = [[3000, 9000, 27890, 33000, 43098, 18000]]
    v4 = [[3890, 12098, 29022, 32000, 41000, 20000]]
    chart = Radar("雷达图-默认指示器")
    chart.config(schema)
    chart.add("预算分配", v1)
    chart.add("实际开销", v2)
    chart.add("ddd", v3)
    chart.add("fff", v4)
    page.add(chart)







    app.kill()
    return page
예제 #3
0
def echart03(request):
    template = loader.get_template('ewpyecharts.html')

    # 2个系列的5个维度的数据
    # value1 = [[0.79, 0.90, 0.46, 0.57, -0.50]]
    # value2 = [[0.11, 0.34, 0.31, -0.11, 0.21]]

    d1 = [[0.79, 0.90, 0.46, 0.57, -0.50]]
    d2 = [[1.11, 0.34, 0.31, -0.11, 0.21]]

    # sqldata_m = []
    # query_sql = "select count(*) 数量, sum(order_m) as 金额, sum(status) 成功率, max(order_m) 最大金额, avg(order_m) 平均金额, typen from myechart_ewsales"
    # data_list = exc_sql(query_sql)
    # m=[i[0] for i in data_list]
    #
    # query_sql = "select max(f1), max(f2) from swap_radas  "
    # data_list = exc_sql(query_sql)
    # m1 = data_list[0]
    # m2 = data_list[1]

    query_sql = "select name, f1, f2 from swap_radas  order by f2 desc limit 0,5"
    data = exc_sql(query_sql)

    data = list(data)
    data = [list(i) for i in data]

    df = DataFrame(data, columns=["name", "f1", "f2"])

    n = list(df["name"])
    d1 = list(df["f1"])
    d2 = list(df["f2"])

    # dd1 = [float(i[1]) for i in data_list]
    # d1 = list(dd1)

    # d2 = [i[2] for i in data_list]

    # query_sql = "select count(*) 数量, sum(order_m) as 金额, sum(status) 成功率, max(order_m) 最大金额, avg(order_m) 平均金额, typen from myechart_ewsales where typen = '营销体系'"
    # data_list = exc_sql(query_sql)
    # d2 = [i[0] for i in data_list]
    #
    # # 用于调整雷达各维度的范围大小
    # c_schema = [{"name": "", "max": 1, "min": -1},
    #             {"name": "", "max": 1, "min": -1},
    #             {"name": "", "max": 1, "min": -1},
    #             {"name": "", "max": 1, "min": -1},
    #             {"name": "", "max": 1, "min": -1}]

    # 用于调整雷达各维度的范围大小
    c_schema = [{
        "name": n[0],
        "max": 1,
        "min": -1
    }, {
        "name": n[1],
        "max": 1,
        "min": -1
    }, {
        "name": n[2],
        "max": 1,
        "min": -1
    }, {
        "name": n[3],
        "max": 1,
        "min": -1
    }, {
        "name": n[4],
        "max": 1,
        "min": -1
    }]

    # 画图
    radar = Radar()
    radar.config(c_schema=c_schema)
    radar.add("数量", [d1])
    radar.add("金额", [d2])

    context = dict(myechart=radar.render_embed(),
                   host=REMOTE_HOST,
                   script_list=radar.get_js_dependencies())
    return HttpResponse(template.render(context, request))
예제 #4
0
def test_more():
    page = Page()

    # line
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line = Line("折线图示例")
    line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10], mark_point=["max", "min"], mark_line=["average"])
    line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"], mark_line=["average"])
    page.add(line)

    # pie
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [11, 12, 13, 10, 10, 10]
    pie = Pie("饼图-圆环图示例", title_pos='center')
    pie.add("", attr, v1, radius=[40, 75], label_text_color=None, is_label_show=True, legend_orient='vertical',
            legend_pos='left')
    page.add(pie)

    # kline
    v1 = [[2320.26, 2320.26, 2287.3, 2362.94],
          [2300, 2291.3, 2288.26, 2308.38],
          [2295.35, 2346.5, 2295.35, 2345.92],
          [2347.22, 2358.98, 2337.35, 2363.8],
          [2360.75, 2382.48, 2347.89, 2383.76],
          [2383.43, 2385.42, 2371.23, 2391.82],
          [2377.41, 2419.02, 2369.57, 2421.15],
          [2425.92, 2428.15, 2417.58, 2440.38],
          [2411, 2433.13, 2403.3, 2437.42],
          [2432.68, 2334.48, 2427.7, 2441.73],
          [2430.69, 2418.53, 2394.22, 2433.89],
          [2416.62, 2432.4, 2414.4, 2443.03],
          [2441.91, 2421.56, 2418.43, 2444.8],
          [2420.26, 2382.91, 2373.53, 2427.07],
          [2383.49, 2397.18, 2370.61, 2397.94],
          [2378.82, 2325.95, 2309.17, 2378.82],
          [2322.94, 2314.16, 2308.76, 2330.88],
          [2320.62, 2325.82, 2315.01, 2338.78],
          [2313.74, 2293.34, 2289.89, 2340.71],
          [2297.77, 2313.22, 2292.03, 2324.63],
          [2322.32, 2365.59, 2308.92, 2366.16],
          [2364.54, 2359.51, 2330.86, 2369.65],
          [2332.08, 2273.4, 2259.25, 2333.54],
          [2274.81, 2326.31, 2270.1, 2328.14],
          [2333.61, 2347.18, 2321.6, 2351.44],
          [2340.44, 2324.29, 2304.27, 2352.02],
          [2326.42, 2318.61, 2314.59, 2333.67],
          [2314.68, 2310.59, 2296.58, 2320.96],
          [2309.16, 2286.6, 2264.83, 2333.29],
          [2282.17, 2263.97, 2253.25, 2286.33],
          [2255.77, 2270.28, 2253.31, 2276.22]]
    kline = Kline("K 线图示例")
    kline.add("日K", ["2017/7/{}".format(i + 1) for i in range(31)], v1)
    page.add(kline)

    # radar
    schema = [("销售", 6500), ("管理", 16000), ("信息技术", 30000), ("客服", 38000), ("研发", 52000), ("市场", 25000)]
    v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
    v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
    radar = Radar("雷达图示例")
    radar.config(schema)
    radar.add("预算分配", v1, is_splitline=True, is_axisline_show=True)
    radar.add("实际开销", v2, label_color=["#4e79a7"], is_area_show=False, legend_selectedmode='single')
    page.add(radar)

    page.render()
예제 #5
0
def echart1(request):
    template = loader.get_template('ewpyecharts.html')

    sql_s = "select typen, count(*) f1, sum(order_m) as f2, sum(status) f3, max(order_m) f4, avg(order_m) f5 from myechart_ewsales group by typen"
    columns_s = ["typen", "f1", "f2", "f3", "f4", "f5"]
    # index_col_s = "f1"
    df = pd.read_sql(sql_s, connection, columns=columns_s)

    df = df.sort_values(by='f1', ascending=False)
    # f1 数量, f2 金额, f2  成功率, f4  最大金额, F5   平均金额

    # old_width = pd.get_option('display.max_colwidth')
    # pd.set_option('display.max_colwidth', -1)
    # df.to_html('files.html', escape=False, index=False, sparsify=True, border=0, index_names=False, header=False)
    # pd.set_option('display.max_colwidth', old_width

    df1 = list(df['typen'])
    df2 = df[['f1', 'f2', 'f3', 'f4', 'f5']]

    # 用于调整雷达各维度的范围大小
    c_schema = [{
        "name": "数量",
        "max": df['f1'].max(),
        "min": -1
    }, {
        "name": "金额",
        "max": df['f2'].max(),
        "min": -1
    }, {
        "name": "成功率",
        "max": df['f3'].max(),
        "min": -1
    }, {
        "name": "最大金额",
        "max": df['f4'].max(),
        "min": -1
    }, {
        "name": "平均金额",
        "max": df['f5'].max(),
        "min": -1
    }]
    #
    # 画图

    radar = Radar()
    radar.config(c_schema=c_schema)

    radar.add(df1[0],
              df2[0:1].values.tolist(),
              item_color="#f9713c",
              symbol=None,
              area_color="#ea3a2e",
              area_opacity=0.1,
              legend_top='bottom',
              line_width=3)
    radar.add(df1[1],
              df2[1:2].values.tolist(),
              item_color='#2525f5',
              symbol=None,
              area_color='#2525f5',
              area_opacity=0.1,
              legend_top='bottom',
              legend_text_size=20,
              line_width=3)
    radar.add(df1[2],
              df2[2:3].values.tolist(),
              item_color='#112535',
              line_width=3)
    radar.add(df1[3],
              df2[3:4].values.tolist(),
              item_color='#991125',
              line_width=3)
    radar.add(df1[4],
              df2[4:5].values.tolist(),
              item_color='#1125b9',
              line_width=3)
    radar.render("Rader.html")

    context = dict(myechart=radar.render_embed(),
                   host=REMOTE_HOST,
                   script_list=radar.get_js_dependencies())
    return HttpResponse(template.render(context, request))
예제 #6
0
def echart04(request):
    template = loader.get_template('ewpyecharts.html')

    cursor = connection.cursor()
    query_sql = "select typen, count(*) f1, sum(order_m) as f2, sum(status) f3, max(order_m) f4, avg(order_m) f5 from myechart_ewsales group by typen"

    cursor.execute(query_sql)
    data = cursor.fetchall()
    # query_sql = "select name, f1, f2 from swap_radas  order by f2 desc limit 0,5"
    # data = exc_sql(query_sql)

    data = list(data)
    data = [list(i) for i in data]

    # df = DataFrame(data, columns=["name", "f1", "f2"])
    df = DataFrame(data, columns=["typen", "f1", "f2", "f3", "f4", "f5"])
    df[["f1", "f2", "f3", "f4", "f5"]] = df[["f1", "f2", "f3", "f4",
                                             "f5"]].astype(float)

    df = df.sort_values(by='f1', ascending=False)
    # f1 数量, f2 金额, f2  成功率, f4  最大金额, F5   平均金额

    df1 = df['typen']
    df2 = df[['f1', 'f2', 'f3', 'f4', 'f5']]

    # 用于调整雷达各维度的范围大小
    c_schema = [{
        "name": "数量",
        "max": df['f1'].max(),
        "min": -1
    }, {
        "name": "金额",
        "max": df['f2'].max(),
        "min": -1
    }, {
        "name": "成功率",
        "max": df['f3'].max(),
        "min": -1
    }, {
        "name": "最大金额",
        "max": df['f4'].max(),
        "min": -1
    }, {
        "name": "平均金额",
        "max": df['f5'].max(),
        "min": -1
    }]
    #
    # 画图

    d1 = [[0.79, 0.90, 0.46, 0.57, -0.50]]
    # d3 = df2[:1].values.tolist()

    radar = Radar()
    radar.config(c_schema=c_schema)
    # radar.add(df1[1], df2[:1].values.tolist())
    # radar.add(df1[2], df2[:2].values.tolist())
    # radar.add(df1[3], df2[:3].values.tolist())
    # radar.add(df1[4], df2[:4].values.tolist())
    # radar.add(df1[5], df2[:5].values.tolist())

    radar.add(df1[0:1].values, df2[0:1].values.tolist())
    radar.add(df1[1:2], df2[1:2].values.tolist())
    radar.add(df1[2:3], df2[2:3].values.tolist())
    radar.add(df1[3:4], df2[3:4].values.tolist())
    radar.add(df1[4:5], df2[4:5].values.tolist())

    # radar.add("数量", [d1])
    # radar.add("金额", [d2])

    # radar.add("数量", [d1])

    context = dict(myechart=radar.render_embed(),
                   host=REMOTE_HOST,
                   script_list=radar.get_js_dependencies())
    return HttpResponse(template.render(context, request))
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> # Part 6 Create Radar with Pyecharts
>>> from pyecharts import Radar
>>> schema=[("Sales",6500),("Magagement",16000),("IT",30000),("CustomerService",38000),("R&D",52000),("Marketing",25000)]
>>> v1=[[4300,10000,28000,35000,50000,19000]]
>>> v2=[[5000,14000,28000,31000,42000,21000]]
>>> radar=Radar()
>>> radar.config(schema)
<pyecharts.charts.radar.Radar object at 0x038A7930>
>>> radar.add("budget",v1,is_splitline=True,is_axisline_show=True)
<pyecharts.charts.radar.Radar object at 0x038A7930>
>>> radar.add("spent",v2,label_color=["#4e79a7"],is_area_show=False)
<pyecharts.charts.radar.Radar object at 0x038A7930>
>>> radar.show_config()

{
    "title": [
        {
            "left": "auto",
            "top": "auto",
            "textStyle": {
                "fontSize": 18
            },
            "subtextStyle": {
                "fontSize": 12
            }
        }
    ],
    "toolbox": {
        "show": true,
예제 #8
0
파일: kmean.py 프로젝트: yanHaowen/keshihua
    def tu_kmeans(self,v=None,n_c=4,dataname="None"):

        def lable_(ny,num,lable):
            num=0
            for i in lable:
                for j in range(0,n_c):
                    if i == j:
                        ny[j]=np.vstack((ny[j],np.array(v[num])))
                        num=num+1
            return ny

        #test data
        if v==None:
            v=np.random.random((190,2))

        setattr=Scatter("数据平面图")
        #kmeans

        kmeans = KMeans(n_clusters=n_c, random_state=9).fit(v)
        y_pred=kmeans.labels_
        print(kmeans.cluster_centers_[1])
        setattr.add("center",kmeans.cluster_centers_[:,0],kmeans.cluster_centers_[:,1])
        nn={}
        for i in range(0,n_c):
            nn[i]=np.array([0,0])
        nn=lable_(nn,n_c,y_pred)


        arr=np.array([[1,3],[2,3],[3,2]])

        bar =Bar("方差分析")

        td=["cul"+str(i) for i in range(0,n_c)]
        td.append("u")
        td.append("sum")


        for i in range(0,n_c):
            nn[i]=np.delete(nn[i],0,0)
            setattr.add("cul"+str(i),nn[i][:,0],nn[i][:,1])

        def manhattan_distance(x,y):
            sum=0
            for poin in y:
                sum=np.sum(abs(x-y))
            return sum

        dis={}

        for i in range(0,n_c):
            dis[i]=manhattan_distance(kmeans.cluster_centers_[i],nn[i])

        dis_list=[dis[i] for i in dis]
        dis_sum=reduce(lambda x,y:x+y,dis_list)
        print dis_sum


        radar=Radar("簇点误差分析.html")

        #dbscan
        dis_db=0.1
        num_simple=5
        dbscan=skc.DBSCAN(dis_db,num_simple).fit(v)
        n_clusters=len(set(dbscan.labels_))-1
        clu_lab=dbscan.labels_

        scatter=Scatter("噪声分析")

        for i in range(n_clusters):
            print(i)
            one_clu=v[clu_lab == i]

            scatter.add("scan"+str(i),one_clu[:,0],one_clu[:,1])


        zaosheng=v[dbscan.labels_==-1]
        if zaosheng != []:
            scatter.add("噪声点",zaosheng[:,0],zaosheng[:,1])


        radar.config([("clu"+str(i),reduce(max,dis_list)) for i in range(0,n_c)])
        dis_list.append(dis_sum/n_c)
        dis_list.append(dis_sum)
        bar.add("",td,dis_list,is_stack=True,label_pos='inside')
        radar.add("bia",[dis_list],is_splitline=True, is_axisline_show=True)
        page=Page()
        page.add(setattr)
        page.add(bar)
        page.add(radar)
        page.add(scatter)

        save_helper.save_tu_helper(page,dataname)
예제 #9
0
#encoding:utf-8
# 作者:孙亚楠
# 日期:2020/3/21 0021 18:39
# 工具:PyCharm
# Python版本:3.7.3
#此python文件完成功能:
from pyecharts import Radar
radar = Radar("雷达图", "一年的降水量与蒸发量")
# //由于雷达图传入的数据得为多维数据,所以这里需要做一下处理
radar_data1 = [[
    2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
]]
radar_data2 = [[
    2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
]]
# //设置column的最大值,为了雷达图更为直观,这里的月份最大值设置有所不同
schema = [("Jan", 5), ("Feb", 10), ("Mar", 10), ("Apr", 50), ("May", 50),
          ("Jun", 200), ("Jul", 200), ("Aug", 200), ("Sep", 50), ("Oct", 50),
          ("Nov", 10), ("Dec", 5)]
# //传入坐标
radar.config(schema)
radar.add("降水量", radar_data1)
# //一般默认为同一种颜色,这里为了便于区分,需要设置item的颜色
radar.add("蒸发量", radar_data2, item_color="#1C86EE")
radar.render('雷达图.html')
예제 #10
0
def statanalysis():
    ###----------------数据准备--------------------------
    #打开数据
    h = pd.read_excel(path1)
    #找出所选择的客户数据
    i = h[h['客户姓名'] == a]
    print(i)
    ####---------------------!!!!------------
    i0 = i['项目名称'].value_counts()
    print(i0)
    i00 = i0.to_frame()



    i00['项目名称'] = i00.index
    i00 = i00.reset_index(drop= True)
    i000 = i['项目名称'].value_counts().tolist()
    i00['训练次数'] = i000

    print(i0)
    print(i00)

    i2 = i['课程类型'].tolist()[0]
    page = Page(page_title=a)


    ##---------------radar图数据准备----------------------
    #对客户数据进行分组求和
    j = i.groupby(by=['项目名称'])['客户成绩'].mean()
    #查看j的类型
    #print(type(j))
    #把series转换为frame
    k = j.to_frame() 
    #取出K中索引,生成新一列,去掉k中索引
    k['项目名称'] = k.index
    k = k.reset_index(drop= True)
    print(k)

    l = i.groupby(by=['项目名称'])['客户成绩'].max()
    n = l.to_frame()
    n['项目名称'] = n.index
    n = n.reset_index(drop = True)

    ##--------------------radar图数据准备--------------------

    ##-------------------------合并dataframe-----------------

    diantu = pd.merge(i00,k,how = 'inner')
    print(diantu)
    ##-------------------------合并dataframe-----------------

    ##-------------------- line数据准备-----------------
    Dgkhxm = i.drop_duplicates(['项目名称'])
    Dgkhxm_list =Dgkhxm['项目名称'].tolist()
    #print(Dgkhxm)
    #print(Dgkhxm_list)
    Dgkhxm_len = len(Dgkhxm_list)
    #print(Dgkhxm_len)
    i1 = i[i['项目名称'] == b]
    #print(i1)
    ##-------------------line数据准------------------------

    ###----------------数据准备-----------------------------------------
    ##---------------------词云----------------------------------

    name = [i2,a]
    value = [55,50]
    wordcloud = WordCloud('客户基本信息',width=600, height=320)
    wordcloud.add("", name, value,word_size_range=[20, 25],shape='diamond')

    page.add(wordcloud)
    ##------------------------词云-----------------------------------

    #-----------------radar图--------------------------------
    schema = []
    for aa in k['项目名称'].tolist():
        aa = (aa,100)
        schema.append(aa)

    v_pingjun = []
    v_pingjun.append(k['客户成绩'].tolist())

    v_zuida =[]
    v_zuida.append(n['客户成绩'].tolist())

    #print(schema)
    #print(v_pingjun)
    #print(v_zuida)


    radar = Radar('客户成绩观星评测')
    radar.config(schema)
    radar.add("平均成绩",v_pingjun,is_splitline=True, is_axisline_show=True)
    radar.add("最好成绩", v_zuida, label_color=["#4e79a7"], is_area_show=False)
    page.add(radar)
    #------------------radar图-------------------------------------

    ##------------------------EffectScatter------------------------
    cishu = diantu['训练次数'].tolist()
    chengji = diantu['客户成绩'].tolist()
    es = EffectScatter("训练次数&成绩")
    es.add("effectScatter", cishu, chengji,xaxis_name = '训练次数',yaxis_name = '客户成绩')
    page.add(es)




    ##------------------------EffectScatter------------------------  

    ##---------------------line--------------------------------

    attr = i1['课程时间'].tolist()

    v_zoushi = i1['客户成绩'].tolist()
    line = Line(b)

    line.add(b, attr, v_zoushi, mark_line=["max", "average"])

    page.add(line)

    page.render('简单统计分析结果报告.html')
예제 #11
0
def test_more():
    page = Page()

    # line
    line = Line("折线图示例")
    line.add(
        "最高气温",
        WEEK,
        [11, 11, 15, 13, 12, 13, 10],
        mark_point=["max", "min"],
        mark_line=["average"],
    )
    line.add(
        "最低气温",
        WEEK,
        [1, -2, 2, 5, 3, 2, 0],
        mark_point=["max", "min"],
        mark_line=["average"],
    )

    # pie
    v1 = [11, 12, 13, 10, 10, 10]
    pie = Pie("饼图-圆环图示例", title_pos="center")
    pie.add(
        "",
        CLOTHES,
        v1,
        radius=[40, 75],
        label_text_color=None,
        is_label_show=True,
        legend_orient="vertical",
        legend_pos="left",
    )

    page.add([line, pie])

    # kline
    v1 = [
        [2320.26, 2320.26, 2287.3, 2362.94],
        [2300, 2291.3, 2288.26, 2308.38],
        [2295.35, 2346.5, 2295.35, 2345.92],
        [2347.22, 2358.98, 2337.35, 2363.8],
        [2360.75, 2382.48, 2347.89, 2383.76],
        [2383.43, 2385.42, 2371.23, 2391.82],
        [2377.41, 2419.02, 2369.57, 2421.15],
        [2425.92, 2428.15, 2417.58, 2440.38],
        [2411, 2433.13, 2403.3, 2437.42],
        [2432.68, 2334.48, 2427.7, 2441.73],
        [2430.69, 2418.53, 2394.22, 2433.89],
        [2416.62, 2432.4, 2414.4, 2443.03],
        [2441.91, 2421.56, 2418.43, 2444.8],
        [2420.26, 2382.91, 2373.53, 2427.07],
        [2383.49, 2397.18, 2370.61, 2397.94],
        [2378.82, 2325.95, 2309.17, 2378.82],
        [2322.94, 2314.16, 2308.76, 2330.88],
        [2320.62, 2325.82, 2315.01, 2338.78],
        [2313.74, 2293.34, 2289.89, 2340.71],
        [2297.77, 2313.22, 2292.03, 2324.63],
        [2322.32, 2365.59, 2308.92, 2366.16],
        [2364.54, 2359.51, 2330.86, 2369.65],
        [2332.08, 2273.4, 2259.25, 2333.54],
        [2274.81, 2326.31, 2270.1, 2328.14],
        [2333.61, 2347.18, 2321.6, 2351.44],
        [2340.44, 2324.29, 2304.27, 2352.02],
        [2326.42, 2318.61, 2314.59, 2333.67],
        [2314.68, 2310.59, 2296.58, 2320.96],
        [2309.16, 2286.6, 2264.83, 2333.29],
        [2282.17, 2263.97, 2253.25, 2286.33],
        [2255.77, 2270.28, 2253.31, 2276.22],
    ]
    kline = Kline("K 线图示例")
    kline.add(
        "日K",
        ["2017/7/{}".format(i + 1) for i in range(31)],
        v1,
        is_datazoom_show=True,
    )
    page.add(kline)

    # radar
    schema = [
        ("销售", 6500),
        ("管理", 16000),
        ("信息技术", 30000),
        ("客服", 38000),
        ("研发", 52000),
        ("市场", 25000),
    ]
    v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
    v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
    radar = Radar("雷达图示例")
    radar.config(schema)
    radar.add("预算分配", v1, is_splitline=True, is_axisline_show=True)
    radar.add(
        "实际开销",
        v2,
        label_color=["#4e79a7"],
        is_area_show=False,
        legend_selectedmode="single",
    )
    page.add(radar)

    # scatter3d
    import random

    data = [[
        random.randint(0, 100),
        random.randint(0, 100),
        random.randint(0, 100),
    ] for _ in range(80)]
    scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR)
    page.add(scatter3D)

    # wordcloud
    name = [
        "Sam S Club",
        "Macys",
        "Amy Schumer",
        "Jurassic World",
        "Charter Communications",
        "Chick Fil A",
        "Planet Fitness",
        "Pitch Perfect",
        "Express",
        "Home",
        "Johnny Depp",
        "Lena Dunham",
        "Lewis Hamilton",
        "KXAN",
        "Mary Ellen Mark",
        "Farrah Abraham",
        "Rita Ora",
        "Serena Williams",
        "NCAA baseball tournament",
        "Point Break",
    ]
    value = [
        10000,
        6181,
        4386,
        4055,
        2467,
        2244,
        1898,
        1484,
        1112,
        965,
        847,
        582,
        555,
        550,
        462,
        366,
        360,
        282,
        273,
        265,
    ]
    wordcloud = WordCloud(width=1300, height=620)
    wordcloud.add("", name, value, word_size_range=[30, 100], rotate_step=66)
    page.add(wordcloud)

    # liquid
    liquid = Liquid("水球图示例")
    liquid.add("Liquid", [0.6])
    page.add(liquid)
    assert len(page) == 7
    assert isinstance(page[0], Line)
    assert (("echarts" in page.js_dependencies)
            or ("echarts.min" in page.js_dependencies))
    page.render()
예제 #12
0
def draw_age_radar(data):
    radar = Radar("妹子年龄分布雷达图")
    radar.config(age_interval)
    radar.add("年龄段", data, is_area_show=False, legend_selectedmode='single')
    radar.render()
예제 #13
0
# encoding: utf-8
# author zww

from pyecharts import Radar
from Include.commons.common import Common

if __name__ == '__main__':
    common = Common()
    results = common.queryData("select * from squad")  #获取四排战绩

    # 初始化雷达图
    schema = [("KD", 1.6), ("吃鸡率", 6), ("Top10", 45), ("场均伤害", 220),
              ("最多击杀", 9), ("爆头率", 35)]
    radar = Radar(width=1300, height=620)
    radar.config(schema)
    # 设置样例颜色
    range_color = [
        '#313695', '#a50026', '#74add1', '#fdae61', '#e0f3f8', '#ffffbf',
        '#fee090', '#f46d43'
    ]
    index = 0
    for result in results:
        data = [[
            str(result[3]),
            str(result[4]),
            str(result[5]),
            str(result[6]),
            str(result[8]),
            str(result[9])
        ]]
        radar.add(result[2], data, item_color=range_color[index])
예제 #14
0
    "min": 0
}, {
    "name": "电池容量(mAh)",
    "max": 5000,
    "min": 0
}, {
    "name": "重量(g)",
    "max": 5000,
    "min": 0
}, {
    "name": "价格",
    "max": 20000,
    "min": 0
}]

radar = Radar()

radar.config(c_schema=indicator)
radar.add("HuaWei mate 40 pro",
          value_mate40,
          item_color="#f9713c",
          symbol=None,
          area_color="#ea3a2e",
          area_opacity=0.3,
          legend_top='bottom',
          line_width=3)

radar.add("Apple iphone 12 pro",
          value_iphone,
          item_color='#2525f5',
          symbol=None,
예제 #15
0
def test_radar():

    # radar_0
    schema = [("销售", 6500), ("管理", 16000), ("信息技术", 30000), ("客服", 38000),
              ("研发", 52000), ("市场", 25000)]
    v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
    v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
    radar = Radar("雷达图示例")
    radar.config(schema)
    radar.add("预算分配", v1, is_splitline=True, is_axisline_show=True)
    radar.add("实际开销",
              v2,
              label_color=["#4e79a7"],
              is_area_show=False,
              legend_selectedmode='single')
    radar.render()

    # radar_1
    value_bj = [[55, 9, 56, 0.46, 18, 6, 1], [25, 11, 21, 0.65, 34, 9, 2],
                [56, 7, 63, 0.3, 14, 5, 3], [33, 7, 29, 0.33, 16, 6, 4],
                [42, 24, 44, 0.76, 40, 16, 5], [82, 58, 90, 1.77, 68, 33, 6],
                [74, 49, 77, 1.46, 48, 27, 7], [78, 55, 80, 1.29, 59, 29, 8],
                [267, 216, 280, 4.8, 108, 64, 9],
                [185, 127, 216, 2.52, 61, 27, 10],
                [39, 19, 38, 0.57, 31, 15, 11], [41, 11, 40, 0.43, 21, 7, 12],
                [64, 38, 74, 1.04, 46, 22, 13],
                [108, 79, 120, 1.7, 75, 41, 14],
                [108, 63, 116, 1.48, 44, 26, 15], [33, 6, 29, 0.34, 13, 5, 16],
                [94, 66, 110, 1.54, 62, 31, 17],
                [186, 142, 192, 3.88, 93, 79, 18],
                [57, 31, 54, 0.96, 32, 14, 19], [22, 8, 17, 0.48, 23, 10, 20],
                [39, 15, 36, 0.61, 29, 13,
                 21], [94, 69, 114, 2.08, 73, 39, 22],
                [99, 73, 110, 2.43, 76, 48, 23], [31, 12, 30, 0.5, 32, 16, 24],
                [42, 27, 43, 1, 53, 22, 25], [154, 117, 157, 3.05, 92, 58, 26],
                [234, 185, 230, 4.09, 123, 69, 27],
                [160, 120, 186, 2.77, 91, 50, 28],
                [134, 96, 165, 2.76, 83, 41,
                 29], [52, 24, 60, 1.03, 50, 21, 30],
                [46, 5, 49, 0.28, 10, 6, 31]]
    value_sh = [[91, 45, 125, 0.82, 34, 23, 1], [65, 27, 78, 0.86, 45, 29, 2],
                [83, 60, 84, 1.09, 73, 27, 3], [109, 81, 121, 1.28, 68, 51, 4],
                [106, 77, 114, 1.07, 55, 51,
                 5], [109, 81, 121, 1.28, 68, 51, 6],
                [106, 77, 114, 1.07, 55, 51, 7], [89, 65, 78, 0.86, 51, 26, 8],
                [53, 33, 47, 0.64, 50, 17, 9], [80, 55, 80, 1.01, 75, 24, 10],
                [117, 81, 124, 1.03, 45, 24,
                 11], [99, 71, 142, 1.1, 62, 42, 12],
                [95, 69, 130, 1.28, 74, 50, 13],
                [116, 87, 131, 1.47, 84, 40, 14],
                [108, 80, 121, 1.3, 85, 37, 15],
                [134, 83, 167, 1.16, 57, 43, 16],
                [79, 43, 107, 1.05, 59, 37,
                 17], [71, 46, 89, 0.86, 64, 25, 18],
                [97, 71, 113, 1.17, 88, 31, 19],
                [84, 57, 91, 0.85, 55, 31, 20], [87, 63, 101, 0.9, 56, 41, 21],
                [104, 77, 119, 1.09, 73, 48, 22], [87, 62, 100, 1, 72, 28, 23],
                [168, 128, 172, 1.49, 97, 56, 24],
                [65, 45, 51, 0.74, 39, 17, 25], [39, 24, 38, 0.61, 47, 17, 26],
                [39, 24, 39, 0.59, 50, 19, 27], [93, 68, 96, 1.05, 79, 29, 28],
                [188, 143, 197, 1.66, 99, 51, 29],
                [174, 131, 174, 1.55, 108, 50, 30],
                [187, 143, 201, 1.39, 89, 53, 31]]
    c_schema = [{
        "name": "AQI",
        "max": 300,
        "min": 5
    }, {
        "name": "PM2.5",
        "max": 250,
        "min": 20
    }, {
        "name": "PM10",
        "max": 300,
        "min": 5
    }, {
        "name": "CO",
        "max": 5
    }, {
        "name": "NO2",
        "max": 200
    }, {
        "name": "SO2",
        "max": 100
    }]

    radar = Radar("雷达图示例")
    radar.config(c_schema=c_schema, shape='circle')
    radar.add("北京", value_bj, item_color="#f9713c", symbol=None)
    radar.add("上海",
              value_sh,
              item_color="#b3e4a1",
              symbol=None,
              legend_selectedmode='signle')
    radar.render()

    # radar_2
    radar = Radar("雷达图示例")
    radar.config(c_schema=c_schema, shape='circle')
    radar.add("北京", value_bj, item_color="#f9713c", symbol=None)
    radar.add("上海", value_sh, item_color="#b3e4a1", symbol=None)
    radar.render()
예제 #16
0
def test_radar_user_define_schema():
    value_bj = [
        [55, 9, 56, 0.46, 18, 6, 1],
        [25, 11, 21, 0.65, 34, 9, 2],
        [56, 7, 63, 0.3, 14, 5, 3],
        [33, 7, 29, 0.33, 16, 6, 4],
        [42, 24, 44, 0.76, 40, 16, 5],
        [82, 58, 90, 1.77, 68, 33, 6],
        [74, 49, 77, 1.46, 48, 27, 7],
        [78, 55, 80, 1.29, 59, 29, 8],
        [267, 216, 280, 4.8, 108, 64, 9],
        [185, 127, 216, 2.52, 61, 27, 10],
        [39, 19, 38, 0.57, 31, 15, 11],
        [41, 11, 40, 0.43, 21, 7, 12],
        [64, 38, 74, 1.04, 46, 22, 13],
        [108, 79, 120, 1.7, 75, 41, 14],
        [108, 63, 116, 1.48, 44, 26, 15],
        [33, 6, 29, 0.34, 13, 5, 16],
        [94, 66, 110, 1.54, 62, 31, 17],
        [186, 142, 192, 3.88, 93, 79, 18],
        [57, 31, 54, 0.96, 32, 14, 19],
        [22, 8, 17, 0.48, 23, 10, 20],
        [39, 15, 36, 0.61, 29, 13, 21],
        [94, 69, 114, 2.08, 73, 39, 22],
        [99, 73, 110, 2.43, 76, 48, 23],
        [31, 12, 30, 0.5, 32, 16, 24],
        [42, 27, 43, 1, 53, 22, 25],
        [154, 117, 157, 3.05, 92, 58, 26],
        [234, 185, 230, 4.09, 123, 69, 27],
        [160, 120, 186, 2.77, 91, 50, 28],
        [134, 96, 165, 2.76, 83, 41, 29],
        [52, 24, 60, 1.03, 50, 21, 30],
        [46, 5, 49, 0.28, 10, 6, 31]
        ]
    value_sh = [
        [91, 45, 125, 0.82, 34, 23, 1],
        [65, 27, 78, 0.86, 45, 29, 2],
        [83, 60, 84, 1.09, 73, 27, 3],
        [109, 81, 121, 1.28, 68, 51, 4],
        [106, 77, 114, 1.07, 55, 51, 5],
        [109, 81, 121, 1.28, 68, 51, 6],
        [106, 77, 114, 1.07, 55, 51, 7],
        [89, 65, 78, 0.86, 51, 26, 8],
        [53, 33, 47, 0.64, 50, 17, 9],
        [80, 55, 80, 1.01, 75, 24, 10],
        [117, 81, 124, 1.03, 45, 24, 11],
        [99, 71, 142, 1.1, 62, 42, 12],
        [95, 69, 130, 1.28, 74, 50, 13],
        [116, 87, 131, 1.47, 84, 40, 14],
        [108, 80, 121, 1.3, 85, 37, 15],
        [134, 83, 167, 1.16, 57, 43, 16],
        [79, 43, 107, 1.05, 59, 37, 17],
        [71, 46, 89, 0.86, 64, 25, 18],
        [97, 71, 113, 1.17, 88, 31, 19],
        [84, 57, 91, 0.85, 55, 31, 20],
        [87, 63, 101, 0.9, 56, 41, 21],
        [104, 77, 119, 1.09, 73, 48, 22],
        [87, 62, 100, 1, 72, 28, 23],
        [168, 128, 172, 1.49, 97, 56, 24],
        [65, 45, 51, 0.74, 39, 17, 25],
        [39, 24, 38, 0.61, 47, 17, 26],
        [39, 24, 39, 0.59, 50, 19, 27],
        [93, 68, 96, 1.05, 79, 29, 28],
        [188, 143, 197, 1.66, 99, 51, 29],
        [174, 131, 174, 1.55, 108, 50, 30],
        [187, 143, 201, 1.39, 89, 53, 31]
        ]
    c_schema = [
        {"name": "AQI", "max": 300, "min": 5},
        {"name": "PM2.5", "max": 250, "min": 20},
        {"name": "PM10", "max": 300, "min": 5},
        {"name": "CO", "max": 5},
        {"name": "NO2", "max": 200},
        {"name": "SO2", "max": 100}
    ]

    # legend selected mode 'single'
    radar = Radar("雷达图示例")
    radar.config(c_schema=c_schema, shape='circle')
    radar.add("北京", value_bj, item_color="#f9713c", symbol=None)
    radar.add("上海", value_sh, item_color="#b3e4a1", symbol=None,
              legend_selectedmode='single')
    assert 'single' in radar._repr_html_()
    assert 'multiple' not in radar._repr_html_()
    radar.render()

    # legend selected mode 'single'
    radar = Radar("雷达图示例")
    radar.config(c_schema=c_schema, shape='circle')
    radar.add("北京", value_bj, item_color="#f9713c", symbol=None)
    radar.add("上海", value_sh, item_color="#b3e4a1", symbol=None)
    assert 'multiple' in radar._repr_html_()
    assert 'single' not in radar._repr_html_()
    radar.render()
예제 #17
0
def mysqldataShow():
    conn = MySQLdb.Connect(host='127.0.0.1',
                           port=3306,
                           user='******',
                           passwd='',
                           db='bishe',
                           charset='utf8')
    cursor1 = conn.cursor()
    #通过计算得分以后的分数进行查询并且排序
    sql_select = "select(@i:=@i+1)as rank,UserName , readnumsum,likenumsum,readnumavg,readnummax,bangindex " \
                 "from newdata1 a,(select@i:=0)b order by Bangindex desc;"
    cursor1.execute(sql_select)
    print '选取的总数为:', cursor1.rowcount    #获取返回数据总条数
    UserName = []
    ReadNumSum = []
    LikeNumSum = []
    ReadNumMax=[]
    ReadNumAvg=[]
    BangIndex=[]

    for i in range(cursor1.rowcount):
        rs = cursor1.fetchone()
        UserName.append(rs[1])
        ReadNumSum.append(rs[2])
        LikeNumSum.append(rs[3])
        ReadNumAvg.append(rs[4])
        ReadNumMax.append(rs[5])
        BangIndex.append(rs[6])
    print UserName
    # 生成柱状图,包括得分
    bar1=Bar("公众号排名",width=1500,height=720,page_title='rank',background_color='#F5F5F5')
    bar1.add("综合排名", UserName, BangIndex,is_datazoom_show=True,datazoom_type='both',is_toolbox_show=True)
    bar1.show_config()
    bar1.render(r"C:\Users\lss\Desktop\rank.html")

    # 生成柱状图,包括阅读最高数,阅读平均数,总阅读数,点赞数
    bar2 = Bar("公众号详细分析", width=1500, height=720,page_title='analysis',background_color='#F5F5F5')
    bar2.add("阅读最高数", UserName, ReadNumMax, is_convert=True, mark_line=["average"], mark_point=["max", "min"],
             is_toolbox_show=True)
    bar2.add("阅读平均数", UserName, ReadNumAvg, is_datazoom_show=True, datazoom_type='both',
             datazoom_range=[10, 25], is_toolbox_show=True, mark_line=["average"], mark_point=["max", "min"])
    bar2.add("文章点赞数", UserName, LikeNumSum, mark_line=["average"], mark_point=["max", "min"],
             is_toolbox_show=True)
    bar2.add("文章阅读总数", UserName, ReadNumSum, mark_line=["average"], mark_point=["max", "min"],
             is_toolbox_show=True)
    bar2.show_config()
    bar2.render(r"C:\Users\lss\Desktop\fenxi.html")

    # 生成云图
    wordcloud = WordCloud(width=1500,height=720,page_title='cloud',background_color='#F5F5F5')
    wordcloud.add("公众号",UserName,BangIndex,word_gap=30,word_size_range=[9,100],shape="circle")
    wordcloud.render(r"C:\Users\lss\Desktop\cloud.html")

    # 对最近一个月排名前10的微信公众号进行排名趋势分析
    sql_Tenselect = "select newdata1.username,newdata1.rank as a,newdata2.rank as b," \
                    "newdata3.rank as c,newdata4.rank as d,newdata5.rank as e " \
                    "from newdata1,newdata2,newdata3, newdata4,newdata5 " \
                    "where newdata1.username=newdata2.username " \
                    "and newdata2.username=newdata3.username " \
                    "and newdata3.username=newdata4.username " \
                    "and newdata4.username=newdata5.username " \
                    "and newdata5.rank in (1,2,3,4,5,6,7,8,9,10)"
    cursor2 = conn.cursor()
    cursor2.execute(sql_Tenselect)
    riqi = ["五月前","四月前","三月前","两月前","一月前"]
    line = Line('公众号排名趋势',width=1500,height=720,page_title='line',background_color='#F5F5F5')
    for i in range(cursor2.rowcount):
        rs2 = cursor2.fetchone()
        rank = [rs2[1],rs2[2],rs2[3],rs2[4],rs2[5]]
        line.add(rs2[0],riqi,rank,is_smooth=True,is_label_show=True,is_xaxis_boundarygap=True,mark_line=['max','min'],is_yaxis_inverse=True,xaxis_name='时间',yaxis_name='名次',xaxis_name_gap='end')
    line.render(r"C:\Users\lss\Desktop\everyone.html")

    # 通过雷达图对某个公众号分析
    sql_oneselect = "select username, readnumsum,likenumsum,readnumavg,readnummax from newdata5 where newdata5.rank<10"
    cursor3 = conn.cursor()
    cursor3.execute(sql_oneselect)
    rader = Radar(width=1500, height=720,page_title='leida',background_color='#F5F5F5')
    schema = [
        ("文章阅读总数", 1000000),("文章点赞数",31000),("阅读平均数",30000),("阅读最高数",110000)
    ]
    rader.config(schema,radar_text_color='#4682B4')
    for i in range(cursor3.rowcount):
        rs3 = cursor3.fetchone()
        rader.add(rs3[0],[[rs3[1],rs3[2],rs3[3],rs3[4]]],area_color="#4682B4",label_emphasis_textcolor="#4682B4")
    rader.render(r"C:\Users\lss\Desktop\one.html")

    cursor2.close()
    cursor1.close()
    conn.close()