学习总结 python(6)
1.柱状图
------------------------柱状图的常用配置------------------------
from pyecharts.charts import Bar
from pyecharts import options
from pyecharts.globals import ThemeType
# 1、创建图标对象
bar = Bar(
init_opts=options.InitOpts(
# 设置整个图标的主题
theme=ThemeType.PURPLE_PASSION
)
)
# 2、添加x轴上和y轴上显示的数据
bar.add_xaxis(['Java', 'H5', 'UI/UE', '物联网'])
bar.add_yaxis('全年招生人数', [ 875, 804, 203, 100])
bar.add_yaxis('平均薪资', [ 8700, 8500, 7400, 8000])
bar.add_yaxis(
'学费',
[18999, 21000, 22999, 19888, 18999],
markpoint_opts=options.MarkPointOpts(data=[
options.MarkPointItem(name='最小值', type_='min')
])
)
# 3. 柱状图常见配置
# 1)全局配置
bar.set_global_opts(
# 配置标题
title_opts=options.TitleOpts(title='主标题', subtitle='副标题', pos_left='30px'),
# 配置图例
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=30, 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')
效果如下:
2.折线图
from pyecharts.charts import Line
from pyecharts import options
from pyecharts.globals import ThemeType
# 1. 创建图标对象
line = Line(
init_opts=options.InitOpts(theme=ThemeType.DARK)
)
# 2. 添加数据
line.add_xaxis(['Python', 'Java', 'H5', 'UI/UE', '物联网'])
line.add_yaxis(
'平均薪资',
[9200, 8700, 8500, 7400, 8000],
markline_opts=options.MarkLineOpts(data=[
options.MarkLineItem(name='平均值', type_='average')
])
)
line.add_yaxis('学费', [18999, 21000, 22999, 19888, 18999])
# 3.折线图特定的配置
# line.set_series_opts(
# # 添加标记线
# markline_opts=options.MarkLineOpts(data=[
# options.MarkLineItem(name='平均值', type_='average')
# ])
# )
# 4.渲染图表
line.render('files/line.html')
效果如下:![请添加图片描述](https://img-blog.csdnimg.cn/bad69bfcef604a1db0cc682f96b75c25.png)
3. 饼图
from pyecharts.charts import Pie
from pyecharts import options
from pyecharts.globals import ThemeType
# 1. 创建图表对象
pie = Pie()
# 2. 添加数据
pie.add(
'销售额',
[('手机', 57890), ('耳机', 15362), ('手表', 9872), ('电脑', 78921)],
# 设置空心
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')
效果如下:
4.地图
from pyecharts.charts import Map
from pyecharts import options
# # ---------------------------------1. 中国地图-----------------------------------
# # 1. 创建图表对象
# map1 = Map()
#
# # 2. 添加数据
# map1.add(
# '新增人数',
# [('四川', 173), ('河北', 309), ('吉林', 26), ('新疆', 778), ('福建', 56), ('重庆', 435), ('广东', 1829)],
# 'china',
# # 限制缩放倍数
# min_scale_limit=0.7,
# max_scale_limit=1.5
# )
#
# # 3.地图常用配置
# 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)
# )
#
# # 4. 渲染图表
# map1.render('files/中国地图.html')
# # ---------------------------------2. 省份地图-----------------------------------
# # 1. 创建图表对象
# map1 = Map()
#
# # 2. 添加数据
# map1.add(
# '新增人数',
# [('成都市', 173), ('绵阳市', 309), ('内江市', 26), ('乐山市', 778), ('德阳市', 56), ('广元市', 435), ('眉山市', 1829)],
# '四川',
# # 限制缩放倍数
# min_scale_limit=0.7,
# max_scale_limit=1.5
# )
#
# # 3.地图常用配置
# 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)
# )
#
# # 4. 渲染图表
# map1.render('files/四川地图.html')
# ---------------------------------3. 世界地图-----------------------------------
# 1. 创建图表对象
map1 = Map()
# 2. 添加数据
map1.add(
'新增人数',
[('China', 173), ('Libya', 309), ('Canada', 26)],
'world',
# 限制缩放倍数
min_scale_limit=0.7,
max_scale_limit=2.5
)
# 3.地图常用配置
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.set_series_opts(
label_opts=options.LabelOpts(is_show=False)
)
# 4. 渲染图表
map1.render('files/四川地图.html')
效果如下:
5.词云
from pyecharts.charts import WordCloud
from pyecharts import options
# 1. 创建图表
wc = WordCloud()
# 2. 添加数据
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), ('QQ空间', 34), ('欢乐斗地主', 7823),
('炉石传说', 90), ('我的世界', 5362), ('部落冲突', 8923)
],
shape='cardioid',
word_size_range=(10, 30)
)
# 3. 渲染图表
wc.render('files/词云.html')
效果如下:![请添加图片描述](https://img-blog.csdnimg.cn/a739f871f87a4604a7c0b80336408f47.png)
6.组合图
from pyecharts.charts import Bar, Line, Pie, Map, Grid
from pyecharts import options
bar = Bar()
bar.add_xaxis(['清华', '北大', '复旦', '人大', '川大'])
bar.add_yaxis('全年招生人数', [320, 875, 804, 203, 100])
bar.add_yaxis('平均分数', [680,670, 650, 660,750])
bar.set_global_opts(legend_opts=options.LegendOpts(is_show=False))
line = Line()
line.add_xaxis(['陆军', '空军', '火箭军', '武警', '海军'])
line.add_yaxis('人数', [30000, 3350, 5700, 40000, 6700])
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=(30, 140),
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.45,
max_scale_limit=0.45,
# 控制地图位置(注意缩放比例的问题)
center=(155, 45)
)
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=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())
效果如下:
##死记硬背,勤加练习,熟练操作