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))
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))
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": "数量201910", "max": df['f1'].max(), "min": -1 }, { "name": "金额2019", "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()) html_out = template.render(context, request) # attr = ["衬衫", "羊毛衫", "始祖鸟", "裤子", "高跟鞋", "袜子"] # v1 = [5, 20, 36, 10, 75, 90] # v2 = [10, 25, 8, 60, 20, 80] # bar1 = Bar("柱状图数据堆叠示例") # bar1.add("商家A", attr, v1, is_stack=True) # bar1.add("商家B", attr, v2, is_stack=True) # # context = dict( # bar=bar1.render_embed(), # host=REMOTE_HOST, # script_list=bar.get_js_dependencies() # ) # return HttpResponse(template.render(context, request)) return HttpResponse(html_out)