day07pyecharts制图

pyecharts制图

  • 柱状图
  • 折线图
  • 饼图
  • 地图
  • 词云
  • 组合图
柱状图
#导入柱状图的类
from pyechars.chats import Bar
#导入图标配置类
from pyechars import option
#创建图标对象
from pyecharts.globals import ThemeType
bar = Bar(
   init_opts=options.InitOpts(
       # 设置整个图标的主题
       theme=ThemeType.DARK_PASSION
   )
)
#添加X轴和Y轴上显示的数据
bar.add_xaxis(['python', 'java', 'H5', '物联网']
bar.add_yaxis('全年招生人数', [320, 200, 187, 209])
bar.add_yaxis('毕业薪资', [18888, 8798, 10100, 12000])
#全局配置:添加主标题和副标题,移动标题位置
bar.set_global_opts(
title_opts=options.Title(title='主标题文本', subtitle='副标题文本', pos_left=400),
#配置图例
legend_opts=options.LegendOpts(is_show=False),
#配置工具箱
toolbox_opts=options.ToolboxOpts(is_show=True)
)
# 系列配置
bar.set_series_opts(
    #设置数值的显示
    label_opts=options.LabelOpts(is_show=True, position='top', rotate=0, font_size=15, color='gray'),
    # 添加标记点(最大最小值)
    markpoint_opts=options.MarkPointOpts(data=[
        options.MarkPointItem(name='最大值',type_='max'),
        options.MarkPointItem(name='最小值',type_='min')
    ])
)
#4 渲染图表
bar.render('file11/bar1.html')              

折线图
from pyecharts.charts import Line
from  pyecharts import  options
from pyecharts.globals import ThemeType
#创建图标对象
line = Line()
#2添加数据
line.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
line.add_yaxis('全年招生人数', [320, 200, 187, 209, 234])
line.add_yaxis('毕业薪资', [18888, 8798, 10100, 12000, 2345])
#3折线图特定配置
line.set_series_opts(
    #markline也可以只赋值在某个轴里,用来添加标记线
    markline_opts=options.MarkLineOpts(data=[
        options.MarkLineItem(name='平均值', type_='average')
    ])

)
#渲染图标
line.render('file11/line1.html')

饼图
from pyecharts.charts import Pie
from pyecharts import options
from pyecharts.globals import ThemeType
#创建图标对象
pie = Pie()
# 添加数据
pie.add('销售额', [('手机', 38987), ('耳机', 12345), ('电脑', 49979), ('手表', 8987)],
        #设置空心效果
        radius=('30%', '70%'),
        #根据数据大小设置每一部分半径的大小
        rosetype='radius'
        )
#饼图的常见配置
pie.set_global_opts(
  	#隐藏图例
    legend_opts=options.LegendOpts(is_show=False),
  	#设置标题和副标题
    title_opts=options.TitleOpts(title='商场第一季度销售情况', subtitle='销售额')
    )
pie.set_series_opts(
  	#设置文字信息的显示格式:{b}-名称 {d}-百分比的比值
        label_opts=options.LabelOpts(formatter='({d}%)')
)
#渲染
pie.render('file11/pie1.html')
地图
from pyecharts.charts import Map
from pyecharts import options
#创建图标对象
map1 = Map()
#添加数据
map1.add(
    '各市十月失业人数',
    [('广州市', 19870), ('佛山市', 7659), ('顺德市', 2345), ('惠州市', 1233)],
    '广东'
  	#限制缩放倍数
  	min_scale_limit=0.7
  	max_scale_limit=1.5
)
#地图常用配置
map1.set_global_opts(
  	#隐藏图例
    legend_opts=options.LegendOpts(is_show=False),
    visualmap_opts=options.VisualMapOpts(is_show=True, max_=20000, is_piecewise=True)
)
#渲染图表
map1.render('file11/map1.html')
词云
from pyecharts.charts import WordCloud
from pyecharts import options
#1.创建图表
wc = WordCloud()
#2.add data
wc.add(
    '游戏人数',
    [('王者荣耀', 28384), ('CS Go', 6782), ('和平精英', 12930), ('英雄联盟', 30092), ('开心消消乐', 829),
     ('刀塔', 1023), ('CF', 567), ('红色警戒', 129), ('魔兽', 90), ('保卫萝卜', 50), ('羊了个羊', 6728),
     ('植物大战僵尸', 369), ('原神', 5093), ('阴阳师', 9), ('找你妹', 809), ('俄罗斯方块', 1092),
     ('狼人杀', 4092), ('你画我猜', 9), ('QQ飞车', 912), ('QQ炫舞', 120), ('偷菜',765)
     ],
    shape='diamond',
#词云的形状'circle', 'cardioid', 'diamond', 'triangle-forward', 'triangle', 'pentagon'
    word_size_range=(10, 100)
)
#3 渲染图标
wc.render('file11/wc1.html')
组合图
#首先将各个需要组合的图标创建出来
from pyecharts.charts import Bar, Line, Pie, Map, Grid
from pyecharts import options
bar = Bar()
bar.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
bar.add_yaxis('全年招生人数', [320, 200, 187, 209],color='gray')
bar.add_yaxis('毕业薪资', [18888, 8798, 10100, 12000], color='black')
bar.set_global_opts(legend_opts=options.LegendOpts(is_show=False))

bar.render('a.html')

line = Line()
line.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
line.add_yaxis('全年招生人数', [320, 875, 804, 203, 100])
line.add_yaxis('平均薪资', [9200, 8700, 8500, 7400, 8000])
line.set_global_opts(legend_opts=options.LegendOpts(is_show=False))

pie = Pie()
pie.add(
    '销售额',
    [('手机', 57890), ('耳机', 15362), ('手表', 9872), ('电脑', 78921)],
    #控制饼图大小
    radius=(100, 150),
    rosetype='radius',
    #通过控制圆心来控制图的位置
    center=(900, 150)
)
pie.set_global_opts(
    legend_opts=options.LegendOpts(is_show=False)
)
pie.set_series_opts(
    label_opts=options.LabelOpts(formatter='{b}({d}%)')
)


map1 = Map()
map1.add(
    '新增人数',
    [('四川', 173), ('河北', 309), ('吉林', 26), ('新疆', 778), ('福建', 56), ('重庆', 435), ('广东', 1829)],
    'china',
    #控制地图大小
    min_scale_limit=0.4,
    max_scale_limit=0.3,
    #控制地图位置,需要注意缩放比例问题
    center = (170,45)
)
map1.set_global_opts(
    legend_opts=options.LegendOpts(is_show=False),
    visualmap_opts=options.VisualMapOpts(is_show=True, max_=2000, min_=0, is_piecewise=True)
)
#创建Grid对象
grid = Grid(init_opts-options.InitOpts(
# 2设置放组合图的盒子的宽度和高度
    width='1500px',
    height='1000px'
grid.add(bar, grid_opts=options.GridOpts(
    pos_left=100,
    pos_top=20,
    width=500,
    height=300  
))
grid.add(line, grid_opts=options.GridOpts(
pos_left=750,
pos_top=400,
width=500,
height=300
 ))  
grid.add(pie, grid_opts=options.GridOpts())
grid.add(map1, grid_opts=options.GridOpts())
#3xuanran
#grid.render('file11/zuhe11.html')
#将图标制成PNG图片
from pyecharts.render import make_snapshot
from snapshot_selenium import  snapshot
make_snapshot(snapshot, grid.render(), 'file11/zuhe12.png')
  
  
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值