예제 #1
0
 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')
예제 #2
0
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))
예제 #3
0
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')
예제 #4
0
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')
예제 #5
0
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))
예제 #6
0
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()
예제 #7
0
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()
예제 #8
0
 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')
예제 #9
0
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'))
예제 #10
0
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')
예제 #11
0
 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")
예제 #13
0
#-----------------------------------------------------------------------------
# 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
예제 #14
0
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")
예제 #15
0
def draw_age_radar(data):
    radar = Radar("妹子年龄分布雷达图")
    radar.config(age_interval)
    radar.add("年龄段", data, is_area_show=False, legend_selectedmode='single')
    radar.render()
예제 #16
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)
    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()
예제 #17
0
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")
예제 #18
0
        "#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()
>>> 
예제 #19
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')
예제 #20
0
파일: charts.py 프로젝트: analylx/learn
          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',
예제 #21
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.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()
예제 #22
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()
예제 #23
0
    "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")
예제 #24
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},
           {"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')
#'生产过程火灾爆炸事故','生产过程中毒伤害事故','储存过程中重特大事故',
#'运输过程中火灾爆炸事故','运输过程中毒伤害事故','使用、销售过程中造成的重特大伤亡事故',
#'储罐、管道重特大泄漏事故的应急救援','运输车辆、船舶重特大泄漏事故的应急救援','危险化学品其他重特大事故'
예제 #25
0
    # 用于调整雷达各维度的范围大小
    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)
예제 #26
0
# 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
예제 #27
0
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")
예제 #28
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": "数量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)
예제 #29
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()