目录
- Python配置安装pyecharts
- 一、柱状图的使用
- 二、折线图
- 三、饼图
- 四、地图
- 五、词云
- 六、组合图
Python配置安装pyecharts
Python配置国内镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pycharm配置pyecharts
一、柱状图的使用
# 导入柱状图的类
from pyecharts.charts import Bar
# 导入图标配置类
from pyecharts import options# 1.创建图标对象
bar = Bar()# 2.添加x轴和y轴上显示的数据
bar.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
bar.add_yaxis('全年招生人数', [320, 875, 804, 203, 100])
bar.add_yaxis('平均薪资', [7000, 6000, 5500, 5000, 7500])
bar.add_yaxis('最低薪资', [4000, 4500, 5000, 4000, 6000])# 3.渲染图表
bar.render('files/bar1.html')
效果图:
常见的配置:
from pyecharts.globals import ThemeType
bar = Bar(# 1.设置图表的主题init_opts=options.InitOpts(theme=ThemeType.MACARONS)
)# 2.全局配置
bar.set_global_opts(# 配置标题title_opts=options.TitleOpts(title='标题',subtitle='副标题',pos_left='380px'),# 配置图例legend_opts=options.LegendOpts(is_show=False),# 配置工具箱toolbox_opts=options.ToolboxOpts(is_show=False)
)# 3.系列配置
bar.set_series_opts(# 设置数值的显示label_opts=options.LabelOpts(is_show=True, position='top', rotate=45, font_size=10, color='pink'),# 添加标记点markpoint_opts=options.MarkPointOpts(data=[options.MarkPointItem(name='最大值', type_='max')# options.MarkPointItem(name='最小值', type_='min')])
)
案例:
# 1.创建图标对象
from pyecharts.globals import ThemeType
bar = Bar(# 设置图表的主题init_opts=options.InitOpts(theme=ThemeType.MACARONS)
)# 2.添加x轴和y轴上显示的数据
bar.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
bar.add_yaxis('全年招生人数', [320, 875, 804, 203, 100])
bar.add_yaxis('平均薪资', [7000, 6000, 5500, 5000, 7500])
bar.add_yaxis('最低薪资', [4000, 4500, 5000, 4000, 6000])# 3.常见配置
# 1)全局配置
bar.set_global_opts(# 配置标题title_opts=options.TitleOpts(title='课程类别和薪资水平',subtitle=' ——千峰',pos_left='380px'),# 配置图例legend_opts=options.LegendOpts(is_show=False),# 配置工具箱toolbox_opts=options.ToolboxOpts(is_show=False)
)# 2)系列配置
bar.set_series_opts(# 设置数值的显示label_opts=options.LabelOpts(is_show=True, position='top', rotate=45, font_size=10, color='pink'),# 添加标记点markpoint_opts=options.MarkPointOpts(data=[options.MarkPointItem(name='最大值', type_='max')# options.MarkPointItem(name='最小值', type_='min')])
)# 4.渲染图表
bar.render('files/bar1.html')
效果图:
二、折线图
from pyecharts.charts import Line
from pyecharts import options
from pyecharts.globals import ThemeType# 1.创建图表
line = Line(init_opts=options.InitOpts(theme=ThemeType.MACARONS)
)# 2.添加数据
line.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
line.add_yaxis('平均薪资', [7000, 6000, 5500, 5000, 7500],)
line.add_yaxis('学费', [19000, 21000, 23000, 20000, 19000])# 3.折线图特点配置
line.set_series_opts(# 添加标记线markline_opts=options.MarkLineOpts(data=[options.MarkLineItem(name='平均值', type_='average')])
)# 4.渲染图表
line.render('files/line1.html')
效果图:
三、饼图
from pyecharts.charts import Pie
from pyecharts import options
from pyecharts.globals import ThemeType# 1.创建图表对象
pie = Pie(init_opts=options.InitOpts(theme=ThemeType.MACARONS)
)# 2.添加数据
pie.add('销售额',[('手机', 20289), ('耳机', 10000), ('手表', 5679), ('电脑', 17283), ('其他', 9567)],radius=('30%', '70%'),rosetype='radius')# 3.常见配置
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='{b}: {d}%')
)# 4.渲染图表
pie.render('files/pie.html')
效果图:
四、地图
from pyecharts.charts import Map
from pyecharts import options
from pyecharts.globals import ThemeTypemap1 = Map()map1.add('新增人数',[('成都市', 173), ('眉山市', 309), ('绵阳市', 26), ('乐山市', 108), ('广元市', 780)], # 城市或省份名字要写全'四川', # 制的是哪里的地图就写哪里min_scale_limit=0.7,max_scale_limit=2.5
)map1.set_global_opts(# 隐藏图例legend_opts=options.LegendOpts(is_show=False),visualmap_opts=options.VisualMapOpts(is_show=False, max_=2000, min_=0, is_piecewise=True)
)map1.render('files/map1.html')
效果图:
五、词云
from pyecharts.charts import WordCloudwc = WordCloud()wc.add('游戏人数',[('王者荣耀', 28374), ('CS Go', 6890), ('和平精英', 10293), ('英雄联盟', 30091),('开心消消乐', 7037), ('刀塔', 1023), ('CF', 567), ('红色警戒', 611), ('魔兽', 6718),('保卫萝卜', 2526), ('羊了个羊', 7281), ('植物大战僵尸', 12234), ('原神', 4566),('狼人杀', 62121), ('俄罗斯方块', 2623), ('QQ炫舞', 672), ('QQ空间', 111), ('QQ飞车', 172),('阴阳师', 9), ('找你妹', 809), ('你画我猜', 121), ('炉石传说', 23), ('我的世界', 2133),('蜘蛛纸牌', 52), ('部落冲突', 6272), ('欢乐斗地主', 727), ('森林冰火人', 236), ('贪吃蛇大作战', 40),('小花仙', 34), ('推箱子', 7), ('纸牌', 1221), ('地铁跑酷', 211), ('扫雷', 23)],shape='cardioid',
)wc.render('files/词云.html')
效果图:
六、组合图
from pyecharts.charts import Bar, Line, Pie, Map, Grid
from pyecharts import optionsbar = Bar()
bar.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
bar.add_yaxis('全年招生人数', [320, 875, 804, 203, 100])
bar.add_yaxis('平均薪资', [9200, 8700, 8500, 7400, 8000])
bar.set_global_opts(legend_opts=options.LegendOpts(is_show=False))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=(60, 120),rosetype='radius',center=(800, 130)
)
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.45,max_scale_limit=0.45,center=(165, 30))
map1.set_global_opts(legend_opts=options.LegendOpts(is_show=False),visualmap_opts=options.VisualMapOpts(is_show=False, max_=2000, min_=0, is_piecewise=True)
)# ------------------组合上面四个图-----------------------
# 1.创建Grid对象
grid = Grid(init_opts=options.InitOpts(# 设置放组合图的盒子的宽高width='1500px',height='1000px'
))# 2.添加需要组合在一起的图表对象
grid.add(bar, grid_opts=options.GridOpts(pos_left=100,pos_top=20,width=450,height=200
))grid.add(line, grid_opts=options.GridOpts(pos_left=650,pos_top=350,width=450,height=200
))grid.add(pie, grid_opts=options.GridOpts())grid.add(map1, grid_opts=options.GridOpts())# 3.渲染组合图
grid.render('files/组合.html')
效果图: