def visual(self, array): schema = [('得分', 35), ('篮板', 20), ('助攻', 15), ('抢断', 5), ('盖帽', 5)] radar = Radar() radar.config(schema) for player, data in array.items(): radar.add(player, data, is_splitline=True, is_axisline_show=True) radar.render('player.html')
def drawRadar(title, data, savepath='./results'): radar = Radar(title) values = [[data[i][1] for i in range(len(data))]] schema = [(data[i][0], 500) for i in range(len(data))] radar.config(schema) radar.add('', values, is_splitline=True, is_axisline_show=True) radar.render(os.path.join(savepath, '%s.html' % title))
def picture_radar(file_path): """ :param file_path:文件路径:str """ birth_hcs = pd.read_csv(file_path) # 使用loc 进行切片, 行:全选 列:选择不连续的用列表包含列名 birth_nien_hcs = birth_hcs.loc[:, [ 'INFANT_ALIVE_AT_REPORT', 'MOTHER_AGE_YEARS', 'CIG_1_TRI', 'MOTHER_PRE_WEIGHT', 'OBSTETRIC_GESTATION_WEEKS', 'INFANT_WEIGHT_GRAMS' ]] birth_nien_hcs = nien_to_nan(birth_nien_hcs, [ 'MOTHER_AGE_YEARS', 'CIG_1_TRI', 'MOTHER_PRE_WEIGHT', 'OBSTETRIC_GESTATION_WEEKS', 'INFANT_WEIGHT_GRAMS' ]) # birth_nien['INFANT_ALIVE_AT_REPORT'] == 'Y' 判断row的值:等于则为True 再使用DataFrame取为True的行 y_hcs = birth_nien_hcs[birth_nien_hcs['INFANT_ALIVE_AT_REPORT'] == 'Y'] n_hcs = birth_nien_hcs[birth_nien_hcs['INFANT_ALIVE_AT_REPORT'] == 'N'] # 按列求平均值,跳过nan, # round(decimals=2): 四舍五入取两位小数 y_mean_hcs = list(y_hcs.mean(skipna=True, axis=0).round(decimals=2)) n_mean_hcs = list(n_hcs.mean(skipna=True, axis=0).round(decimals=2)) print('存活婴儿数据雷达图:', y_mean_hcs, '\n', '死亡婴儿数据雷达图:', n_mean_hcs) schema_hcs = [{ 'name': "母亲平均年龄", 'max': 40 }, { 'name': "母亲平均吸烟数量", 'max': 1.2 }, { 'name': "母亲平均体重", 'max': 200 }, { 'name': "怀孕平均周数", 'max': 40 }, { 'name': "婴儿平均体重", 'max': 3500 }] radar_hcs = Radar('存活婴儿与死亡婴儿数据对比——雷达图(黄彩思)', height=500) radar_hcs.set_radar_component(c_schema=schema_hcs) radar_hcs.add('存活婴儿', [y_mean_hcs], item_color='#2525f5', symbol=None, area_color='#2525f5', area_opacity=0.3, legend_top='bottom', line_width=3) radar_hcs.add('死亡婴儿', [n_mean_hcs], item_color="#f9713c", symbol=None, area_color="#ea3a2e", area_opacity=0.3, legend_top='bottom', line_width=3, legend_text_size=20) radar_hcs.render('radar.html')
def leidatu(): '''雷达图''' 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) radar.render('./info/雷达图.html')
def drawRadar(title, data, savepath='./results'): if not os.path.exists(savepath): os.mkdir(savepath) radar = Radar(title, title_pos='center') radar.use_theme('essos') values = [j for i, j in data.items()] sum_ = sum(values) / (len(values) // 2) schema = [(i, sum_) for i, j in data.items()] values = [values] radar.config(schema) radar.add("", values, is_splitline=True, is_axisline_show=True, radar_text_size=20) radar.render(os.path.join(savepath, '%s.html' % title))
def test_radar_default_schema(): 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()
def __draw_radar_core__(city, data, color): c_schema = [{ "name": "PM2.5\nmax=500μg/m3", "max": 500, "min": 0 }, { "name": "PM10\nmax=1500μg/m3", "max": 1500, "min": 0 }, { "name": "SO2\nmax=100μg/m3", "max": 100 }, { "name": "NO2\nmax=200μg/m3", "max": 200 }, { "name": "CO\nmax=5.0mg/m3", "max": 5 }, { "name": "O3\nmax=200μg/m3", "max": 200, "min": 0 }] radar = Radar(background_color='#333') radar.config( c_schema=c_schema, shape='polygon', radar_text_color="#FFF", ) # radar.use_theme("dark") radar.add( city, data, is_area_show=True, area_color=color, #'#F0891F', area_opacity=0.3, line_curve=0.1, line_opacity=0, symbol=None, legend_text_color='#FFF', # legend_orient='vertical', legend_top='4%', legend_pos='25%', legend_text_size=15, legend_selectedmode=False, label_color=[color] #,'#3F4A97','#F05F8D','#6A9EA3'] ) radar.render() radar.render(city + '雷达图.jpeg')
def scores_of_bread(data): star = data['Star'].mean() taste = data['Taste'].mean() environ = data['Environment'].mean() service = data['Service'].mean() ave = (taste + environ + service) / 3 result_show = [star, taste, environ, service, ave] config_info = [('星级', 50), ('口味', 10), ('环境', 10), ('服务', 10), ('综合', 10)] scores_fig1 = Radar('综合评分情况') scores_fig1.config(config_info) scores_fig1.add('', [result_show]) scores_fig1.render(os.path.join(data_out, 'scores1_of_bread.html')) result = pd.DataFrame(columns=data.columns) for index, item in enumerate(data['Taste']): if item == data['Taste'].max(): # print('口味最好:\n', data.loc[index]) # print(data.loc[index].info()) result = result.append(data.loc[index]) for index, item in enumerate(data['Environment']): if item == data['Environment'].max(): # print('环境最佳:\n', data.loc[index]) result = result.append(data.loc[index]) for index, item in enumerate(data['Service']): if item == data['Service'].max(): # print('服务最棒:\n', data.loc[index]) result = result.append(data.loc[index]) result.to_csv(os.path.join(data_out, 'result_of_best.csv'), encoding='utf-8-sig') print( '最昂贵的菜系:%s' % data.groupby('Cuisine')['Per_Consumption'].mean().idxmax(), '人均:%.2f元' % data.groupby('Cuisine')['Per_Consumption'].mean().max()) print('最受欢迎的菜系:%s' % data.groupby('Cuisine')['Comments'].mean().idxmax(), '平均有:%d条评论' % data.groupby('Cuisine')['Comments'].mean().max()) data['ave'] = round( (data['Taste'] + data['Environment'] + data['Service']) / 3, 2) scores_fig2 = Scatter('综合评分与餐厅星级关系') scores_fig2.add('综合评分', data['Star'].values, data['ave'].values) scores_fig2.render(os.path.join(data_out, 'scores2_of_bread.html'))
def DrawRadar(city_name): schema = [('最高气温', 45), ('气压', 1500), ('湿度', 100), ('最低气温', 45), ('PM2.5', 200)] data = qr.get_data(city_name) values = [[ int(data['Htemperature']), int(data['QY']), int(data['SD'].strip('%')), int(data['Ltemperature']), int(data['pm25']) ]] radar = Radar() radar.config(schema) radar.add('%s天气信息' % city_name, values, is_splitline=True, is_axisline_show=True) radar.render('weatherRadar.html')
def radar_demo(self): # 雷达图 from pyecharts import Radar radar = Radar('雷达图', subtitle='一年的降水量与蒸发量') # 由于雷达图传入的数据得为多维数据,所以这里需要做一下处理 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('radar.html')
from pyecharts import 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_show=True,is_axisline_show=True) radar.add("实际开销",v2,label_color=["#4e79a7"],is_area_show=False) radar.show_config() radar.render(r"Radar(雷达图-技能图).html")
#----------------------------------------------------------------------------- # radar plot from pyecharts import 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, symbol=None, area_color=RGB(255, 120, 0), item_color=RGB(255, 120, 0), is_area_show=True, area_opacity=0.5) radar.add("实际开销", v2, symbol=None, area_color=RGB(50, 50, 0), item_color=RGB(50, 50, 0), is_area_show=True, area_opacity=0.5) radar.render() #------------------------------------------------------------------------------ # Funnel attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] value = [1, 11, 15, 30, 45, 101] funnel = Funnel("漏斗图示例") funnel.add("商品", attr, value, is_label_show=True, label_pos="inside", label_text_color="#fff") funnel.render('funnel.html') # ---------------------------------------------------------------------------- # Gauge
from pyecharts import 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') radar.render("./img/雷达图.html")
def draw_age_radar(data): radar = Radar("妹子年龄分布雷达图") radar.config(age_interval) radar.add("年龄段", data, is_area_show=False, legend_selectedmode='single') radar.render()
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) radar.show_config() 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) radar.show_config() radar.render()
from pyecharts import 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, shape="circle") radar.add("预算分配", v1, is_splitline_show=True, is_axisline_show=True, is_stack=True) radar.add("实际开销", v2, label_color=["#23e"], is_area_show=False, is_stack=True) # radar.add("实际开销",v2,label_color=["#23e"],is_area_show=False, # legend_selectedmode='single',is_stack=True) radar.render(path="Radar.html")
"#4e79a7", "#c23531", "#2f4554", "#61a0a8", "#d48265", "#749f83", "#ca8622", "#bda29a", "#6e7074", "#546570", "#c4ccd3", "#f05b72", "#ef5b9c", "#f47920", "#905a3d", "#fab27b", "#2a5caa", "#444693", "#726930", "#b2d235", "#6d8346", "#ac6767", "#1d953f", "#6950a1", "#918597", "#f6f5ec" ] } >>> radar.render() >>>
#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')
type='barRadius', is_stack=True) polar.show_config() polar.render(path='./data/03-04极坐标.html') # 雷达图 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) radar.show_config() radar.render(path='./data/03-05雷达图.html') """ #支持保持成各种格式,但是会有问题 bar = Bar("我的第一个图表", "这里是副标题") bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90]) # bar.print_echarts_options() bar.render(path='snapshot.html') bar.render(path='snapshot.png') bar.render(path='snapshot.pdf') """ 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',
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.show_config() 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.show_config() 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.show_config() radar.render()
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()
"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, area_color='#2525f5', area_opacity=0.3, legend_top='bottom', legend_text_size=20, line_width=3) radar.render("F:\桌面文件\实训数据\Rader.html")
{"name": "三月", "max": 120, "min": 0}, {"name": "四月", "max": 120, "min": 0}, {"name": "五月", "max": 120, "min": 0}, {"name": "六月", "max": 120, "min": 0}, {"name": "七月", "max": 120, "min": 0}, {"name": "八月", "max": 120, "min": 0}, {"name": "九月", "max": 120, "min": 0}, {"name": "十月", "max": 120, "min": 0}, {"name": "十一月", "max": 120, "min": 0}, {"name": "十二月", "max": 120, "min": 0}] radar = Radar("ABCDE的雷达图",title_pos='left') radar.config(c_schema=c_schema,radar_text_size=20) radar.add(" ", value1, item_color='#2525f5', symbol=None,aarea_opacity=0.3, legend_top='bottom',line_width=3) radar.render("Rader.html") #f9713c attr=['生产过程火灾爆炸事故','生产过程中毒伤害事故','储存过程中重特大事故', '运输过程中火灾爆炸事故','运输过程中毒伤害事故','使用、销售过程中造成的重特大伤亡事故', '储罐、管道重特大泄漏事故的应急救援','运输车辆、船舶重特大泄漏事故的应急救援','危险化学品其他重特大事故'] v1=[94,55,27,19,15,15,7,8,19] #v2=[85,24,39,80,27] pie=Pie(" ",title_pos='left',width=1000,height=300) pie.add('1',attr,v1, center=[50,60],radius=[30,75],is_label_show=True) #pie.add('2',attr,v2, center=[75,50],radius=[30,75],is_label_show=True) pie.render('kongqi5.html') #'生产过程火灾爆炸事故','生产过程中毒伤害事故','储存过程中重特大事故', #'运输过程中火灾爆炸事故','运输过程中毒伤害事故','使用、销售过程中造成的重特大伤亡事故', #'储罐、管道重特大泄漏事故的应急救援','运输车辆、船舶重特大泄漏事故的应急救援','危险化学品其他重特大事故'
# 用于调整雷达各维度的范围大小 c_schema = [{ "name": "篮板", "max": 10, "min": -1 }, { "name": "助攻", "max": 10, "min": -1 }, { "name": "抢断", "max": 10, "min": -1 }, { "name": "盖帽", "max": 10, "min": -1 }, { "name": "失误", "max": 10, "min": -1 }] #画图 rader_name = name_obj['name'].replace('清洗后的数据.csv', '雷达图') + '.html' radar = Radar() radar.config(c_schema=c_schema) radar.add("雷达图", value1) radar.render(rader_name)
# polar.add("", [1, 2, 3, 4, 1, 2, 5], radius_data=radius, type='barAngle', is_stack=True) # polar.show_config() # polar.render('./文件/案例3_极坐标系2.html') #13.1雷达图 from pyecharts import 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) radar.show_config() radar.render('./文件/案例3_雷达图1.html') #13.2 from pyecharts import Radar 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]] 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]] c_schema = [{ "name": "AQI", "max": 300, "min": 5 }, { "name": "PM2.5", "max": 250, "min": 20
app.screen_updating = False book = app.books.open(filepath) sheet = book.sheets['sheet1'] data1 = sheet.range('G2:P2').value # 第一串数据 data2 = sheet.range('G3:P3').value # 第二串数据 _list1 = [] _list2 = [] i = 0 j = 0 print(data1) radar = Radar("雷达图", "球员能力值") k = 0 for itemm in data1: print("%d : %s" % (k, itemm)) k = k + 1 for item in data1: print(item) _list1.append(item) radar_data1 = [_list1] radar_data2 = [_list2] schema = [("出场时间(minutes)", 3500), ("进球", 30), ("助攻", 25), ("传球成功率", 100), ("创造机会", 22), ("争顶成功", 1), ("全场最佳", 25), ("综合得分", 10)] radar.config(schema) radar.add("阿扎尔", radar_data1) radar.add("斯特林", radar_data2, item_color="#1C86EE") radar.render("C:\\Users\\mushr\\Desktop\\433\\创3\\DVFiles\\radar.html")
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)
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()