day10 pyecharts的使用

day10 pyecharts的使用

01 柱状图

from pyecharts.charts import Bar  #导入柱状图的类

1.创建柱状图对象

bar = Bar()

2.添加数据

1)添加x轴上的选项

bar.add_xaxis(['一季度', '二季度', '三季度', '四季度'])

2)添加x轴上每一个选项对应的数据

bar.add_yaxis('销售额', [280, 219, 199, 320])
bar.add_yaxis('成本', [120, 30, 56, 89])

3.制图(渲染图表)

bar.render('files/柱状图1.html')   # 难点在于配置

02 柱状图的配置

1.创建图表对象

bar = Bar()

2.添加数据

bar.add_xaxis(['1季度', '2季度', '3季度', '4季度'])
# 添加数据的时候可以单独针对某种数据进行相关配置
bar.add_yaxis(
    '销售额',
    [280, 219, 199, 320],
    # 设置销售额对应的柱子的颜色
    color='DarkKhaki',
    # 设置柱子的宽度
    bar_width=40
)

bar.add_yaxis('成本', [120, 110, 200, 150])

3.添加配置

1)全局配置

bar.set_global_opts(
    # 标题相关配置
    title_opts=options.TitleOpts(
        title='xxx公司2022年全年销售信息',
        title_link='https://www.baidu.com',
        subtitle='销售额数据和成本数据',
        subtitle_link='https://www.jd.com',
        pos_left='450',
        text_align='center'    # 'left'、'center'、'right'
    ),
    # 设置图例
    legend_opts=options.LegendOpts(
        is_show=True,
        pos_right=0,
        item_width=20,
        item_height=10
    ),

    # 设置x轴
    xaxis_opts=options.AxisOpts(
        name='时间'
    ),

    # 设置y轴
    yaxis_opts=options.AxisOpts(
        name='销售额(万元)/成本(万元)'
    )
)
  1. 系列配置
bar.set_series_opts(
    # 设置标签
    label_opts=options.LabelOpts(
        is_show=False,
        position='top',
        color='red',
        rotate=0
    ),
    # 添加最大值和最小值的标记点
    markpoint_opts=options.MarkPointOpts(
        data=[
            options.MarkPointItem('最小值', 'min'),
            options.MarkPointItem('最大值', 'max'),
        ]
    )
)

4.渲染图表

bar.render('files/柱状图2.html')

03 折线图

1.创建折线图对象

line = Line()

2.添加数据

line.add_xaxis(['1季度', '2季度', '3季度', '4季度'])
line.add_yaxis(
    '销售额',
    [280, 219, 199, 320],
    color='blue'
)
line.add_yaxis(
    '成本',
    [120, 110, 200, 150],
    # 设置线的颜色
    color='red',
    # 是否平滑
    is_smooth=True
)

3.配置

line.set_series_opts(
    markline_opts=options.MarkLineOpts(
        data=[options.MarkLineItem('平均值', 'average')]
    )
)

4.渲染

line.render('files/折线图.html')

04 饼图

1.创建饼图对象

pie = Pie()

2.添加数据

data = [('Apple', 512), ('HuaWei', 600), ('XiaoMi', 320), ('SanXing', 80), ('Oppo', 120), ('ViVo', 210)]
pie.add(
    '销量',
    data,
    # 设置内半径和外半径大小
    radius=[70, 200],
    # 让外半径大小根据数据的占比自动调整
    rosetype='radius'
)

3.添加配置

pie.set_series_opts(
    # 设置数据的显示格式
    label_opts=options.LabelOpts(
        # {b} - 数据名称   {d} - 一个数据在整个数据中百分比比值
        formatter='{b}:{d}%'
    )
)

4.渲染

pie.render('files/饼图.html')

05 中国地图

1.创建地图对象

map1 = Map()

2.添加数据

data = [('四川省', 65627892), ('重庆市', 56738290), ('吉林省', 20192873)]
map1.add(
    '人口数量',
    data,
    maptype='china',
    # 限制缩放范围
    min_scale_limit=0.7,
    max_scale_limit=2.5,
    # 默认的缩放比例
    zoom=1.5
)

3.配置地图

map1.set_global_opts(
    # 在地图上根据数据的大小涂色
    visualmap_opts=options.VisualMapOpts(
        is_show=True,
        min_=10000000,
        max_=70000000,
        is_piecewise=True
    )
)

4.渲染地图

map1.render('files/地图.html')

06 世界地图

from pyecharts.charts import Map
from pyecharts import options
# 1.创建地图对象
map1 = Map()
map1.add(
    '人均GDP',
    [('China', 19280), ('Russia', 18252), ('Canada', 15006), ('Brazil', 6500),
     ('Australia', 14000)
     ],

    maptype='world',
    min_scale_limit=0.5,
    max_scale_limit=3,
    zoom=1
)
map1.set_series_opts(
    label_opts=options.LabelOpts(
        is_show=False
    )
)
map1.set_global_opts(
    legend_opts=options.LegendOpts(
        is_show=False
    ),
    title_opts=options.TitleOpts(
        title='世界各国人均GDP',
        pos_left='400'
    ),
    visualmap_opts=options.VisualMapOpts(
        is_show=True,
        min_=5000,
        max_=20000,
        is_piecewise=True
    )
)
# 4.渲染地图
map1.render('files/世界地图.html')

07 省份地图

from pyecharts.charts import Map
from pyecharts import options
map1 = Map()
map1.add(
    '平均薪资',
    [('成都市', 7000), ('重庆市', 6500), ('广安市', 5000), ('甘孜藏族自治州', 2000),('广元市', 4500)],
    maptype='四川',
    min_scale_limit=0.5,
    max_scale_limit=3,
    zoom=1
)
map1.set_global_opts(
    legend_opts=options.LegendOpts(
        is_show=False
    ),
    title_opts=options.TitleOpts(
        title='四川省各市平均薪资',
        pos_left='360'
    ),
    visualmap_opts=options.VisualMapOpts(
        is_show=True,
        min_=1000,
        max_=10000,
        is_piecewise=True
    )
)
map1.render('files/省份地图.html')

08 词云

# 1. 创建词云对象
wc = WordCloud()

# 2. 添加数据
wc.add(
    '',
    [('王者荣耀', 9893), ('英雄联盟', 7821), ('原神', 2983), ('开心消消乐', 12099), ('保卫萝卜', 892),
     ('CSGO', 1290), ('永劫无间', 290), ('守望先锋', 120),  ('和平精英', 15032), ('qq飞车', 782), ('第五人格', 403),
     ('穿越火线', 3909), ('诛仙', 109), ('红警', 99)],
    # cardioid(心脏线)、diamond(钻石)、triangle(三角形)、triangle-forward、pentagon(五边形)、star(星形)
    shape='triangle',
    width='200',
    height='200'
)

# 4.渲染数据
wc.render('files/词云.html')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值