Pyecharts数据可视化常用图
详情可参考官网
pyecharts:https://pyecharts.org/#/zh-cn/intro
柱状图
from pyecharts.charts import Bar #导入柱状图的包
cities=['广东','江苏','山东','浙江','河南','四川','福建','湖北','湖南']
GDP=[110761,102719,73129,64613,54997,48599,43904,43443,41781]
#数据要以数组的形式传入
Bar().add_xaxis(cities).add_yaxis('GDP',GDP).render() #渲染出一个页面
折线图
from pyecharts.charts import Line#导入折线图的包
import pyecharts.options as opts#导入选项包并命名为opts
cities = ['广东', '江苏', '山东', '浙江', '河南', '四川', '福建', '湖北', '湖南']
GDP = [110761, 102719, 73129, 64613, 54997, 48599, 43904, 43443, 41781]
Line().add_xaxis(cities).add_yaxis('GDP', GDP).set_global_opts(
yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter='{value}亿元'))).render()
#给y轴设置后缀:1.找到全局配置。2.找到y轴配置项。3.找到轴配置项。4.周配置项中选择标签配置。5.创建一个新标签配置:格式化程序,插入'{value}后缀'.
#最后渲染出一个页面。
饼图
from pyecharts.charts import Pie
#导入饼图
from collections import Counter
#导入计数包
from pyecharts.options import global_options
#全局配置
cities = ['广东', '江苏', '山东', '浙江', '河南', '四川', '福建', '湖北',
'湖南','湖南', '河南','广东','广东','广东','湖南','湖南','湖南','湖南','湖南','湖南',
'浙江','北京','北京','上海','上海','新疆','海南','河北','河北','河北','河南','天津',
'天津','浙江','天津','江西','江西','内蒙古','西藏','甘肃','甘肃','黑龙江','山东','福建','山东','山东','福建']
Pie().add('学生各地省份分布图',Counter(cities).most_common()).render()
#饼图调用add方法,第一个参数为系列名,是一个字符串,第二个传入字典,调用计数方法,把相同的归为一类最后再渲染出来
#如若不需要图例则用这一段
# Pie().add('学生各地省份分布图',Counter(cities).most_common()).set_global_opts(legend_opts=global_options.LegendOpts(is_show=False)).render()
#设置全局配置项中的图列配置项中的is_how设置为False
散点图
from pyecharts.charts import Scatter #导入散点图的包
S1=['手表','鞋子','衣服','盐','油','米']
S2=[10,20,30,40,60,70,80,90,100,110,120,130,140]
Scatter().add_xaxis(S1).add_yaxis('散点图',S2).render()
高级图:
词云图
from pyecharts.charts import WordCloud #导入词云图的包
from collections import Counter #导入计数包
name=['谭❤怡','谭❤怡','谭❤怡','谭❤怡','谭❤怡','谭❤怡','谭❤怡','彭万里','彭万里','彭万里','孙雪松 ','孙雪松 ','吴国梁','Amy','Amy','Cindy']
WordCloud().add('人名',Counter(name).most_common()).render()
热力图
import random
#运用随机数
from pyecharts.charts import HeatMap
#导入热力图的包
con = ["美国", "韩国", "意大利", "中国", "阿尔及利亚", "澳大利亚",'法国']
values = [10,20,30,40,50,60,70]
color = [[i, j, random.randint(0,100)] for i in range(7) for j in range(7)]
HeatMap().add_xaxis(con).add_yaxis('热力图',values,color).render()
#color 表示的是随机颜色的深度
地图
from pyecharts import options as opts
from pyecharts.charts import Map
provinces = ["西藏", "北京", "海南", "辽宁", "湖南", "四川", "山东"]
value = [200, 1000, 2000, 800, 1000, 300, 5000]
Map().add("", [list(z) for z in zip(provinces, value)], "china").set_global_opts(
title_opts=opts.TitleOpts(title="连续型数据图"),
visualmap_opts=opts.VisualMapOpts(max_= 2000),
).render()
雷达图
from pyecharts.charts import Radar #导入雷达图
from pyecharts import options as opts
n1 = [[4301, 10001, 28100, 35100, 52000, 19200]]
n2 = [[5005, 14030, 28100, 31200, 42000, 21000]]
#设置一下模式,选择配置中的雷达
Radar().add_schema(schema=[
opts.RadarIndicatorItem(name="销售", max_=5000),
opts.RadarIndicatorItem(name="管理", max_=15000),
opts.RadarIndicatorItem(name="信息技术", max_=20000),
opts.RadarIndicatorItem(name="客服", max_=34000),
opts.RadarIndicatorItem(name="研发", max_=50000),
opts.RadarIndicatorItem(name="市场", max_=25000),
]) .add("预算分配", n1).add("实际开销", n2).render()