Example #1
0
def get_pie(city, center1, center2):
    data = df.loc[df['City'] == city, ['Date', 'AQI_Bucket']]

    rank_message = data.groupby(['AQI_Bucket'])
    rank_com = rank_message['AQI_Bucket'].agg(['count'])
    rank_com.reset_index(inplace=True)
    rank_com_last = rank_com.sort_values('count', ascending=False)

    x = rank_com_last['AQI_Bucket']
    y = rank_com_last['count']

    pie = Pie(init_opts=opts.InitOpts(width='400px', height='300px'))

    input_data = [list(z) for z in zip(x, y)]
    pie.add(city, input_data, center=center1, radius=['15%', '30%'])

    pie.set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{d}%'))

    pie.set_global_opts(title_opts=opts.TitleOpts(
        title=city,
        pos_left=center2[0],
        pos_top=center2[1],
    ),
                        legend_opts=opts.LegendOpts(is_show=False))

    return pie
Example #2
0
def mkhtml2(name1):
    """
    饼图
    :return:生成豆瓣top250电影产源国家数量占比分析图html文件
    """

    # ORM查询
    myresult = Test.objects.values('address').annotate(
        count=Count('name')).order_by('-count')[:10]
    # fetchall() 获取所有记录
    namelist = []
    # 将变量存在列表里
    numlist = []
    for name in myresult:
        namelist.append(name['address'])
        numlist.append(name['count'])

    pie = Pie()
    pie.add(
        "占比",
        [list(z) for z in zip(namelist, numlist)],
        center=["40%", "60%"],
    )
    pie.set_global_opts(
        title_opts=opts.TitleOpts(title="豆瓣top250电影产源国家数量占比"),
        legend_opts=opts.LegendOpts(pos_left="35%"),
    )
    # 设置显示的样子,加入了百分比
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c} ({d}%)"))
    pie.render(f'{name1}')
    print(f'{name1}已生成')
Example #3
0
def pie_set_colors():
    obj_pie = Pie()
    obj_pie.add("",[list(z) for z in zip(Faker.choose(), Faker.values())])
    obj_pie.set_colors(["blue", "green", "yellow", "red", "pink", "orange", "purple"])
    obj_pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    obj_pie.set_global_opts(title_opts=opts.TitleOpts(title="Pie-设置颜色",subtitle ="副标题"))
    return obj_pie
Example #4
0
def analyze_remark_name():
    close_partner_dict = {
        '宝宝,糙糙,仙女,亲爱,老婆': 0,
        '老公': 0,
        '父亲,爸': 0,
        '母亲,妈': 0,
        '闺蜜,死党,基友': 0
    }

    # 遍历好友数据
    for user in friends:
        for key in close_partner_dict.keys():
            # 判断该好友备注名是否包含close_partner_dict中的任意一个key
            name = key.split(',')
            for sub_name in name:
                if (sub_name in user.remark_name):
                    close_partner_dict[key] += 1
                    break

    name_list = ['最重要的她', '最重要的他', '爸爸', '妈妈', '死党']
    num_list = [x for x in close_partner_dict.values()]

    pie = Pie()
    pie.add("可能是你最亲密的人", [list(z) for z in zip(name_list, num_list)])
    pie.set_global_opts(title_opts=opts.TitleOpts(title="可能是你最亲密的人"))
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    pie.render('data/你最亲密的人.html')
Example #5
0
def statistics_friends():
    # 初始化
    unknown, known_male, known_female, known_other = 0, 0, 0, 0

    # 遍历
    for user in friends:
        # 备注不为空
        if ((user.remark_name).strip()):
            if (user.sex == 1):
                known_male += 1
            elif (user.sex == 2):
                known_female += 1
            else:
                known_other += 1
        else:
            unknown += 1

    name_list = ['未设置备注的好友', '设置备注的男性好友', '设置备注的女性好友', '设置备注的其他好友']
    num_list = [unknown, known_male, known_female, known_other]

    pie = Pie()
    pie.add("你认识的好友比例", [list(z) for z in zip(name_list, num_list)])
    pie.set_global_opts(title_opts=opts.TitleOpts(title="你认识的好友比例"))
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    pie.render('data/你认识的好友比例.html')
Example #6
0
def Pie_base(sql, titl) -> Pie:
    pie = Pie()
    # engine = create_engine("mysql+pymysql://root:root@localhost:3306/mysql", encoding="utf-8")
    # session = sessionmaker(bind=engine)
    # # sql= "select gzlx as 故障类型,count(1) as 数量 from b_epos where rq BETWEEN '%s' and '%s' group by gzlx"% (rq1, rq2)
    # df = pd.read_sql(sql, engine)
    # rows=df.values.tolist()
    # headers=df.columns.tolist()
    with SQLPoll() as db:
        students = db.fetch_all(sql, None)
    headers = []
    for student in students:
        headers = list(student.keys())
        break
    c = []
    rows = []
    for student in students:
        c = list(student.values())
        rows += [c]
    if len(rows) == 0:
        rows = [['无', 0]]
    pie.add("", rows)
    pie.set_global_opts(title_opts=opts.TitleOpts(title=titl))
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
    return pie
Example #7
0
def MutiplePieCharts(datas):
    height_i = '450'
    if len(datas) > 3:
        height_i = height_i + (350 * (len(datas) // 3))
    height = str(height_i) + 'px'
    pie = Pie(init_opts=opts.InitOpts(width="100%", height=height))
    left_i = 1
    right_i = 1
    for data in datas:
        right = str(300 * right_i) + 'px'
        if left_i == 1:
            left = '20%'
            left_i = 2
        elif left_i == 2:
            left = '50%'
            left_i = 3
        else:
            left = '80%'
            right_i += 1
            left_i = 1
        pie.add(
            data[0],
            data[1],
            center=[left, right],
            radius=120,
        )
    pie.set_global_opts(title_opts=opts.TitleOpts(title="磁盘使用率"), )
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"), )
    return pie.render_embed()
Example #8
0
def draw_category_pie(inner,
                      outside,
                      inner_title="分类报表",
                      outer_title='小类报表',
                      width=2000) -> Pie:
    pie = Pie()

    inner_radius = "70%"
    outer_radius = "80%"

    pie.add(
        series_name=inner_title,
        data_pair=inner,
        radius=["0%", inner_radius],
        label_opts=opts.LabelOpts(position="inner"),
    )
    pie.add(
        series_name=outer_title,
        radius=[inner_radius, outer_radius],
        data_pair=outside,
        label_opts=opts.LabelOpts(
            position="outside",
            formatter="{b}:\n{c}({d}%)",
            border_width=1,
            border_radius=4,
        ),
    )

    pie.set_global_opts(legend_opts=opts.LegendOpts(pos_left="left",
                                                    orient="vertical"), )
    pie.set_series_opts(tooltip_opts=opts.TooltipOpts(
        trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"))

    return pie
Example #9
0
def order_chart():
    # 今日各状态订单总金额
    pie2 = Pie()
    pie2.add("", list(order_status_total.items()))
    pie2.set_global_opts(title_opts=opts.TitleOpts(title="今日各状态订单总金额"))
    pie2.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    return pie2.dump_options_with_quotes()
Example #10
0
def create_gender(data):
    df = data.copy()
    # 修改数值
    df.loc[df.gender == '0', 'gender'] = '未知'
    df.loc[df.gender == '1', 'gender'] = '男性'
    df.loc[df.gender == '2', 'gender'] = '女性'
    # 根据性别分组
    gender_message = df.groupby(['gender'])
    # 对分组后的结果进行计数
    gender_com = gender_message['gender'].agg(['count'])
    gender_com.reset_index(inplace=True)

    # 饼图数据
    attr = gender_com['gender']
    v1 = gender_com['count']

    # 初始化配置
    pie = Pie(init_opts=opts.InitOpts(width="800px", height="400px"))
    # 添加数据,设置半径
    pie.add("", [list(z) for z in zip(attr, v1)], radius=["40%", "75%"])
    # 设置全局配置项,标题、图例、工具箱(下载图片)
    pie.set_global_opts(title_opts=opts.TitleOpts(title="抖音大V性别分布情况",
                                                  pos_left="center"),
                        legend_opts=opts.LegendOpts(orient="vertical",
                                                    pos_left="left"),
                        toolbox_opts=opts.ToolboxOpts(
                            is_show=True, feature={"saveAsImage": {}}))
    # 设置系列配置项,标签样式
    pie.set_series_opts(
        label_opts=opts.LabelOpts(is_show=True, formatter="{b}:{d}%"))
    pie.render("抖音大V性别分布情况.html")
Example #11
0
def sexAnalyse(itemname_, itemnamelist_, itemnumlist_):
    totle = itemnumlist_[0] + itemnumlist_[1] + itemnumlist_[2]
    subtitle = "共有:%d个好友" % totle
    pie = Pie()#新建饼图对象
    pie.add("",[list(z) for z in zip(itemnamelist_,itemnumlist_)],center=["35%", "50%"])#饼图对象数据添加
    pie.set_global_opts(title_opts=opts.TitleOpts(title=subtitle),legend_opts=opts.LegendOpts(pos_left="15%"),)
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    outFileName = itemname_+ '.html'
    pie.render(outFileName)#保存饼图对象
Example #12
0
 def pie_render_air(self):
     """
         * 实心圆一个,仅支持一份参数;
     """
     # c = Pie(init_opts=opts.InitOpts(width="1600px", height="800px"))
     c = Pie()
     c.add(
         series_name=self.y_name,
         # radius=["40%", "55%"], # 半圆的尺寸;
         radius=[0, "55%"],
         data_pair=self.inner_data_pair,
         label_opts=opts.LabelOpts(
             position="outside",
             formatter="{a|{a}}{abg|}\n{hr|}\n {b|{b}: }{c}  {per|{d}%}  ",
             background_color="#eee",
             border_color="#aaa",
             border_width=1,
             border_radius=4,
             rich={
                 "a": {
                     "color": "#999",
                     "lineHeight": 22,
                     "align": "center"
                 },
                 "abg": {
                     "backgroundColor": "#e3e3e3",
                     "width": "100%",
                     "align": "right",
                     "height": 22,
                     "borderRadius": [4, 4, 0, 0],
                 },
                 "hr": {
                     "borderColor": "#aaa",
                     "width": "100%",
                     "borderWidth": 0.5,
                     "height": 0,
                 },
                 "b": {
                     "fontSize": 16,
                     "lineHeight": 33
                 },
                 "per": {
                     "color": "#eee",
                     "backgroundColor": "#334455",
                     "padding": [2, 4],
                     "borderRadius": 2,
                 },
             },
         ),
     )
     c.set_global_opts(title_opts=opts.TitleOpts(title=self.title),
                       legend_opts=opts.LegendOpts(pos_left=self.pos_left,
                                                   orient="vertical"))
     c.set_series_opts(tooltip_opts=opts.TooltipOpts(
         trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"))
     return c
Example #13
0
def sex_chart(data, movie_id):
    list = []
    data = data['gender'].value_counts()
    for key, v in enumerate(data):
        list.append([sex[key], v])
    pie = Pie()
    pie.add("", list)
    pie.set_global_opts(title_opts=opts.TitleOpts(title="评论用户性别分布饼图"))
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    pie.render('user_sex_' + movie_id + '.html')
Example #14
0
def show_pie(id):
    attr = ["成功(含熔断)", "失败", "限流"]
    counts = [len(sync.success), len(sync.fail), sync.limit]
    c = Pie(init_opts=opts.InitOpts(
        width='1200px', height='800px', page_title='page'))
    c.add("", [list(attr) for attr in zip(attr, counts)])
    c.set_colors(["green", "red", "blue"])
    c.set_global_opts(title_opts=opts.TitleOpts(title="成功失败数量饼图"))
    c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    c.render('成功失败数量饼图{}.html'.format(id + 1))
Example #15
0
 def pie_render_genre(self):
     c = Pie()
     c.add(self.y_name, self.inner_data_pair, center=["35%", "50%"])
     c.set_global_opts(title_opts=opts.TitleOpts(title=self.title),
                       legend_opts=opts.LegendOpts(pos_left=self.pos_left,
                                                   orient="vertical"))
     c.set_series_opts(tooltip_opts=opts.TooltipOpts(
         trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"),
                       label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
     return c
Example #16
0
def pie_radius():
    obj_pie = Pie()
    # radius=["40%", "75%"]饼图的半径,数组的第一项是内半径,第二项是外半径
    obj_pie.add("",[list(z) for z in zip(Faker.choose(), Faker.values())],radius=["40%", "75%"],)
    obj_pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    obj_pie.set_global_opts(
        title_opts=opts.TitleOpts(title="Pie-Radius",subtitle ="副标题"),
        # 让图例legend显示到左侧
        legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),
    )
    return obj_pie
Example #17
0
def pie():
    pie = Pie(init_opts=opts.InitOpts(
        theme=ThemeType.PURPLE_PASSION, width="1280px", height="1080px"))
    pie.add(
        "",
        [list(z) for z in zip(data["项目简称"].to_list(), data["母婴"].to_list())],
        radius=["40%", "75"])
    pie.set_global_opts(
        title_opts=opts.TitleOpts(title="各类母婴产品", pos_bottom='50%'))
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}"))
    pie.render('../graph/5.4(各类母婴产品盈利).html')
Example #18
0
def get_message_type_frequency(file_path, wxid):
    """
    :param file_path: 经过预处理后的message表存储位置
    :param wxid: 待查询人的微信id
    :return:
    """
    # file_path = r'D:\wechet-anayze\pre-message-2.txt'
    message = pd.read_csv(file_path, sep=',', encoding='utf-8', low_memory=False)
    # wxid = ''

    # 进行数据筛选,选择message表中与所需微信id一致的数据
    message = message[message['talker'] == wxid]
    # 根据消息类型统计每种类型的频次(索引为数字编码)
    chat_type_count = message['type'].groupby(message['type']).size()
    # 消息类型对应关系
    message_type = {'1': '文本内容', "3": "图片及视频", "34": "语音消息", "42": "名片信息", "43": "图片及视频",
                    "47": "表情包", "48": "定位信息", "49": "小程序链接", "10000": "消息撤回提醒", "1048625": "网络照片",
                    "16777265": "链接信息", "419430449": "微信转账", "436207665": "红包", "469762097": "红包",
                    "-1879048186": "位置共享"}
    # 集合对象,功能与chat_type_count相同,存储(聊天类型:频次)信息(索引为对应中文类型)
    chat_type_count_dict = {}
    # 根据消息类型代码
    for key in chat_type_count.index:
        if str(key) in message_type.keys():
            print(message_type.get(str(key)))
            chat_type_count_dict[message_type.get(str(key))] = chat_type_count[key]
        else:
            chat_type_count_dict[key] = chat_type_count[key]
    print("结果集类型: ", type(chat_type_count_dict))
    print(chat_type_count_dict)

    x_data = []
    y_data = []
    for key in chat_type_count_dict:
        temp = [str(key), chat_type_count_dict.get(key)]
        x_data.append(str(key))
        y_data.append(int(chat_type_count_dict.get(key)))

    a1 = []
    for z in zip(x_data, y_data):
        a1.append(z)

    pie = Pie(init_opts=opts.InitOpts(width="1600px", height="600px", page_title="消息类型统计"))
    pie.add(
        "",
        data_pair=a1,
        center=["35%", "60%"],
    )
    pie.set_global_opts(
        title_opts=opts.TitleOpts(title="Pie-调整位置"),
        legend_opts=opts.LegendOpts(pos_left="15%"),
    )
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}"))
    pie.render("message_type_count.html")
def drawPie(title, data, savepath='./results'):
    if not os.path.exists(savepath):
        os.mkdir(savepath)
    pie = Pie()
    attrs = [i for i, j in data.items()]
    values = [j for i, j in data.items()]
    pie.add("", [list(z) for z in zip(attrs, values)])
    pie.set_global_opts(title_opts=opts.TitleOpts(title="评分情况"),
                        legend_opts=opts.LegendOpts(pos_left=160))
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}"))
    pie.render(os.path.join(savepath, '%s.html' % title))
Example #20
0
def level_pie(data):
    level_list = [[i, j]
                  for i, j in enumerate(data['userlevel'].value_counts())]
    pie = Pie()
    pie.add("", level_list, radius=["40%", "75%"])
    pie.set_global_opts(title_opts=opts.TitleOpts(title="等级分布"),
                        legend_opts=opts.LegendOpts(orient="vertical",
                                                    pos_top="15%",
                                                    pos_left="2%"))
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    pie.render("等级分布.html")
Example #21
0
def generate_pie_html(dict_rows, key, value):
    data = []
    for row in dict_rows:
        data.append([row[key], round(row[value], 2)])

    pie = Pie(init_opts=opts.InitOpts(theme=ThemeType.SHINE))
    pie.add("", data)
    # pie.set_global_opts(title_opts=opts.TitleOpts(title="我的摊大饼策略分布"))
    pie.set_global_opts(legend_opts=opts.LegendOpts(is_show=False))
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
    pie_html = pie.render_embed('template.html', env)
    return pie_html
def pie_radius_chart(data_pie):
    c = Pie()
    c.add(series_name='類別', data_pair=data_pie, radius=['40%', '75%'])
    c.set_global_opts(title_opts=opts.TitleOpts(title='各種類占比'),
                      legend_opts=opts.LegendOpts(orient='vertical',
                                                  pos_top='15%',
                                                  pos_left='2%'))
    c.set_series_opts(tooltip_opts=opts.TooltipOpts(
        trigger='item', formatter='{a} <br/> {b}:{c} ({d}%)'),
                      label_opts=opts.LabelOpts(formatter="{b}:{c}%"))

    return c
Example #23
0
def pie_position():
    obj_pie = Pie()
    # center=["35%", "50%"]
    # 饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标
    # 默认设置成百分比,设置成百分比时第一项是相对于容器宽度,第二项是相对于容器高度
    obj_pie.add("",[list(z) for z in zip(Faker.choose(), Faker.values())],center=["35%", "50%"])
    obj_pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    obj_pie.set_global_opts(
        title_opts=opts.TitleOpts(title="Pie-设置位置",subtitle ="副标题"),
        legend_opts=opts.LegendOpts(pos_left="15%"),
    )
    return obj_pie
Example #24
0
 def data_analysis(self):
     from pyecharts import options as opts                                           # 导入包
     from pyecharts.charts import Pie
     from pyecharts.render import make_snapshot
     c = Pie()                                                                       # 绘制饼状图
     c.add(
             "",
             [list(z) for z in zip(self.location_name, self.location_times)],
             radius=["40%", "75%"],		                                            # 内半径和外半径占比
         )
     c.set_global_opts(title_opts=opts.TitleOpts(title="壁纸拍摄地址分布图"),)
     c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
     c.render('壁纸拍摄地址分布图.html')
Example #25
0
def pie_charts() -> Pie:
    # 创建实例对象
    pie = Pie(init_opts=opts.InitOpts(width='1000px', height='600px'))
    # 添加数据
    pie.add(series_name="访问来源", data_pair=data_pie)
    # 设置全局项
    pie.set_global_opts(title_opts=opts.TitleOpts(
        title="课程不同的来源销售分析", pos_left='center', pos_top=20))
    #设置每项数据占比
    pie.set_series_opts(tooltip_opts=opts.TooltipOpts(
        trigger='item', formatter="{a} <br/> {b}:{c} ({d}%)"))

    return pie
Example #26
0
def pieChart(df):
    def randomcolor(kind):
        colors = []
        for i in range(kind):
            #colArr = ['1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F','G','H','I','K','L','M','N']
            colArr = [
                '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C',
                'D', 'E', 'F'
            ]
            color = ''
            for i in range(6):
                color += colArr[random.randint(0, 14)]
                colors.append('#' + color)
        return colors

    all_columns = df.columns
    type_of_plot = st.selectbox("Select Type of Plot",
                                ["PIE1", "PIE2", "PIE3"])
    columns_to_plot = st.selectbox("Select 1 column", all_columns, key='a')
    columns_to_plot1 = st.selectbox("Select 1 column", all_columns, key='b')

    if st.button("Generate Plot"):

        #st.success("Generating Customizable Plot of {} for {}".format(type_of_plot))

        if type_of_plot == 'PIE1':

            cje = df[columns_to_plot].tolist()
            other_var = df[columns_to_plot1].tolist()
            color_series = randomcolor(len(cje))
            pie = Pie()
            pie.add('', [list(z) for z in zip(cje, other_var)],
                    radius=['30%', '135%'],
                    center=['50%', '65%'],
                    rosetype='area')

            pie.set_global_opts(title_opts=opts.TitleOpts(
                title='Population Generale des 20 CJE de Montreal'),
                                legend_opts=opts.LegendOpts(is_show=False),
                                toolbox_opts=opts.ToolboxOpts())
            pie.set_series_opts(
                label_opts=opts.LabelOpts(is_show=True,
                                          position='inside',
                                          font_size=12,
                                          formatter='{b}:{c}',
                                          font_style='italic',
                                          font_weight='bold',
                                          font_family='Microsoft YaHei'))
            pie.set_colors(color_series)
            return pie
Example #27
0
def pizza(info, componente, metrica="%", temaEscuro=False):
    if (temaEscuro):
        pie = Pie(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
    else:
        pie = Pie(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE))

    pie.add(series_name=componente, data_pair=info)
    pie.set_global_opts(title_opts=opts.TitleOpts(title="Média de uso de " + componente))
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c} " + metrica))

    make_snapshot(driver, pie.render("chart.html"), "chart.png")

    abrirGrafico()
    return 0
Example #28
0
    def pyechart_Pie_plot(self, filedata, para):
        from pyecharts.charts import Pie
        file_name = '南丁格尔玫瑰图.html'
        path_plotly = self.path_dir_plotly_html + os.sep + file_name  # 文件路径,前面是文件夹后面是文件名
        costumeTheme = self.themedict[para['theme']]
        # -----------------------------------------------------------------------
        # 准备数据

        df = pd.read_excel(filedata, sheet_name='sheet1')
        # # 提取数据
        v = df['provinces'].values.tolist()
        d = df['num'].values.tolist()
        color_series = df['color_series'].values.tolist()

        # 降序排序
        df.sort_values(by='num', ascending=False, inplace=True)

        # 实例化Pie类
        pie1 = Pie(init_opts=opts.InitOpts(
            theme=costumeTheme, width=para['width'], height=para['height']))
        # 设置颜色
        pie1.set_colors(color_series)
        # 添加数据,设置饼图的半径,是否展示成南丁格尔图
        pie1.add("", [list(z) for z in zip(v, d)],
                 radius=["10%", "135%"],
                 center=["50%", "65%"],
                 rosetype="area")
        # 设置全局配置项
        pie1.set_global_opts(
            title_opts=opts.TitleOpts(title=para["title"],
                                      subtitle=para["subtitle"]),
            toolbox_opts=opts.ToolboxOpts(feature=opts.ToolBoxFeatureOpts(
                save_as_image=opts.ToolBoxFeatureSaveAsImageOpts(
                    background_color="white")))
            #visualmap_opts=opts.VisualMapOpts(),
        )
        # 设置系列配置项
        pie1.set_series_opts(
            label_opts=opts.LabelOpts(
                is_show=True,
                position="inside",
                font_size=12,
                formatter="{b}:{c}天",
                font_style="normal",  # css的格式
                font_weight="normal",
                font_family="宋体"), )
        # 生成html文档
        pie1.render(path_plotly)
        return path_plotly  # 返回该HTML文件路径
Example #29
0
def draw(list1, list2):
    pie = Pie()
    pie.add("", list(zip(list1, list2)))
    pie.set_global_opts(
        title_opts=opts.TitleOpts(title="消费者购买的HUAWEIP30颜色图例"),  #标题
        legend_opts=opts.LegendOpts(orient="vertical",
                                    pos_top="15%",
                                    pos_left="4%"),
    )
    pie.set_series_opts(
        label_opts=opts.LabelOpts(formatter="{b}: {c}"))  #图例显示(颜色+人数),例:亮黑色:46
    pie.set_colors(
        ["lightblue", "black", "turquoise", "orangered", "lightpink"])
    pie.render(desktop + "\\jd.huaweiP30.html")
    return True
Example #30
0
def gender_pie(data):
    gender_list = []
    for i, j in enumerate(data['gender'].value_counts()):
        if i == 0:
            i = '未知'
        elif i == 1:
            i = '男'
        else:
            i = '女'
        gender_list.append([i, j])
    pie = Pie()
    pie.add("", gender_list)
    pie.set_global_opts(title_opts=opts.TitleOpts(title="性别分布"))
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    pie.render("性别分布.html")