pyecharts简单实用,折线图,箱型图,多饼图/玫瑰图,世界图

pyecharts简单使用

  • 前言
  • 一、折线图
  • 二、箱型图
  • 三、饼图/玫瑰图
  • 四、世界图
  • 总结


前言

借一次小项目(小到练手的,嘿嘿),第一次接触到pyecharts,使用感觉嘎嘎舒服,在这里记录一下,一共四张图,折线图,箱型图,饼图/玫瑰图(其实这俩差不多,改个值就行),世界图



一、折线图

先看效果图
pyecharts简单实用,折线图,箱型图,多饼图/玫瑰图,世界图_第1张图片
这是pyecharts的链式调用,也有之前的单独调用,具体的用法可以看这个大佬的博客Python之pyecharts使用
官方文档也是中文的,非常友好
代码如下:

# 开始绘图
        line = (
            # 题目和图宽
            Line(init_opts=opts.InitOpts(page_title='15日新增确诊累计图', width='100%'))
            # 图形的全局配置
            .set_global_opts(
                tooltip_opts=opts.TooltipOpts(is_show=False),
                xaxis_opts=opts.AxisOpts(type_="category"),
                yaxis_opts=opts.AxisOpts(
                    type_="value",
                    axistick_opts=opts.AxisTickOpts(is_show=True),
                    splitline_opts=opts.SplitLineOpts(is_show=True),
                ),
            )
            # 添加X,Y坐标信息
            .add_xaxis(xaxis_data=x)
            .add_yaxis(
                series_name="15日新增确诊累计图",
                y_axis=y,
                symbol="emptyCircle",
                is_symbol_show=True,
                label_opts=opts.LabelOpts(is_show=True),
                is_connect_nones=True
            )
            # 绘图保存到本地
            .render('15日新增确诊累计图.html')
        )


二、箱型图

效果:
pyecharts简单实用,折线图,箱型图,多饼图/玫瑰图,世界图_第2张图片
代码:

# 开始绘图
	X = ['美国', '中国', '日本本土', '德国', '印度', '法国', '英国', '巴西', '意大利', '加拿大']
	V = [[对应的数据,数据至少大于5], [X轴有几个值,就对应几个列表]]
    box = Boxplot(init_opts=opts.InitOpts(width='100%', page_title='GDP前十国家确诊人数箱型图'))
    box.add_xaxis(X)
    # box.prepare_data(列表)会自动根据提供的值去计算箱型图需要的值
    box.add_yaxis('', box.prepare_data(V))
    box.set_global_opts(
        title_opts=opts.TitleOpts(title='GDP前十国家确诊人数箱型图', pos_right='center')
    )
    box.render('GDP前十国家确诊人数箱型图.html')

这个就是单独调用的



三、饼图/玫瑰图

效果:
pyecharts简单实用,折线图,箱型图,多饼图/玫瑰图,世界图_第3张图片
代码:

pie = (
        Pie(
            init_opts=opts.InitOpts(page_title='全球确诊人数占比', width='100%')    # 配置题头
        )
        # add添加小饼图,center是图的位置
        .add(
            series_name = '',    # 相当于饼图的介绍  
            [list(z) for z in v_list[0]],   # 这个是zip()后的数据,比如:[('中国', '112131'),('美国', '511561')]
            # 图的位置
            center=['20%', '32%'],
            # 饼图的半径,数组的第一项是内半径,第二项是外半径
            radius=[30, 75],
            # 是否展示成南丁格尔图,通过半径区分数据大小,有'radius'和'area'两种模式。
            # radius:扇区圆心角展现数据的百分比,半径展现数据的大小
            # area:所有扇区圆心角相同,仅通过半径展现数据大小
            rosetype="area",   # 不好看
        )
        .add(
            '',
            [list(z) for z in v_list[1]],
            center=['45%', '32%'],
            radius=[30, 75],
            rosetype='radius'
        )
        .add(
            '',
            [list(z) for z in v_list[2]],
            center=['70%', '32%'],
            radius=[30, 75],
        )
        .add(
            '',
            [list(z) for z in v_list[3]],
            center=['10%', '80%'],
            radius=[30, 75],
        )
        .add(
            '',
            [list(z) for z in v_list[4]],
            center=['35%', '80%'],
            radius=[30, 75],
        )
        .add(
            '',
            [list(z) for z in v_list[5]],
            center=['60%', '80%'],
            radius=[30, 75],
        )
        .add(
            '',
            [list(z) for z in v_list[6]],
            center=['85%', '80%'],
            radius=[30, 75],
        )
        .set_global_opts(
            # 设置左上角标题和副标题
            title_opts=opts.TitleOpts(
                title="全球确诊人数占比", pos_right='center'
            ),
            # 图例设置
            legend_opts=opts.LegendOpts(
                type_='scroll',   # 因为图例太多了,scroll设置滚动
                pos_top='5%'
            )
        )
        .render('全球确诊人数占比.html')
    )


四、世界图

效果:
pyecharts简单实用,折线图,箱型图,多饼图/玫瑰图,世界图_第4张图片
代码:

map = (
        Map(
            init_opts=opts.InitOpts(page_title='全球疫苗接种数据图', width='100%')   # 题头设置
        )
        # add添加图例
        .add(
            '累计接种/亿剂',
            jiezhong_data,
            maptype='world',
            is_map_symbol_show=False,
            is_selected=True,
            name_map=nameMap
        )
        .add(
            '每百人/亿剂',
            bairen_data,
            maptype='world',
            is_selected=True,
            is_map_symbol_show=False
        )
        # 系列配置
        .set_series_opts(
            # 不显示经纬度,设置颜色,字体大小
            label_opts={'is_show': 'False',
                        'color': '#fff', 'font_size': '18', 'position': 'left'},
        )
        # 全局配置
        .set_global_opts(
            # 视觉映射配置项
            visualmap_opts=opts.VisualMapOpts(min_=0, max_=int(2500000000)),
            # 设置左上角标题和副标题
            title_opts=opts.TitleOpts(
                title="全球疫苗接种情况地图", pos_left="50", pos_top="5%",
                title_textstyle_opts=opts.TextStyleOpts(font_size=30),
                subtitle_textstyle_opts=opts.TextStyleOpts(font_size=18, color='#222')
            ),
            # 图例设置
            legend_opts=opts.LegendOpts(
                selected_mode='single', pos_top="50", pos_bottom="5%", pos_right="right",
                textstyle_opts=opts.TextStyleOpts(font_size=18)),
        )
        .render('全球疫苗接种情况地图.html')
    )




总结

以上就是我在这次的练手项目中的使用,好多的参数都不太清楚,只是能达到使用的效果,待到以后再深入学习可视化的时候,了解一下,这也算是迈出可视化的第一步吧,加油!

你可能感兴趣的:(数据可视化,python,echarts)