pyecharts生成各种图表
pyecharts的使用
pyecharts 是一个用于生成 Echarts 图表的类库。
echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化。pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 与 Python 的对接。
使用 pyecharts 可以生成独立的网页,也可以在 flask , Django 中集成使用。
pyecharts包含的图表
Bar(柱状图/条形图) Bar3D(3D 柱状图) Boxplot(箱形图) EffectScatter(带有涟漪特效动画的散点图) Funnel(漏斗图) Gauge(仪表盘) Geo(地理坐标系) Graph(关系图) HeatMap(热力图) Kline(K线图) Line(折线/面积图) Line3D(3D 折线图) Liquid(水球图) Map(地图) Parallel(平行坐标系) Pie(饼图) Polar(极坐标系) Radar(雷达图) Sankey(桑基图) Scatter(散点图) Scatter3D(3D 散点图) ThemeRiver(主题河流图) WordCloud(词云图)
1. 柱状图
from pyecharts.charts import Barfrom pyecharts import options# 1.准备数据cate = ['湖北', '四川', '重庆', '河北', '云南']data1 = [34500, 3000, 3218, 2890, 50023]data2 = [1200, 100, 300, 130, 1004]# 2. 创建图表对象bar = Bar()# 3. 关联数据bar.add_xaxis(cate) # 确定x轴上要显示的内容bar.add_yaxis('确诊人数', data1)bar.add_yaxis('死亡人数', data2)# 4. 设置图表# 全局设置bar.set_global_opts( # 设置标题信息 title_opts=options.TitleOpts(title='全国疫情数据统计', subtitle='确诊人数和死亡人数'), # 显示工具箱 toolbox_opts=options.ToolboxOpts())# 系列设置bar.set_series_opts( # 设置是否显示数值 label_opts=options.LabelOpts(is_show=False), # 添加标记点 markpoint_opts=options.MarkPointOpts(data=[ options.MarkPointItem(type_='min', name='最小值'), options.MarkPointItem(type_='max', name='最大值') ]))# 5. 数据渲染 - 生成图表bar.render('files/柱状图.html')
2. 饼状图
from pyecharts.charts import Piefrom pyecharts import options# 1. 准备数据data = [('苹果', 153), ('三星', 56), ('华为', 200), ('Oppo', 89)]# 2. 创建图标对象pie = Pie()# 3. 关联数据pie.add( # 设置系列名称 series_name='手机销量', # 设置需要展示的数据 data_pair=data, # 设置圆环空心部分和数据显示部分的比例 radius=['30%', '70%'], # 设置饼是不规则的 rosetype='radius')# 设置数据显示的格式pie.set_series_opts(label_opts=options.LabelOpts(formatter='{b}:{d}%'))# pie.set_series_opts(label_opts=options.LabelOpts(formatter='{b}的占比:百分之{d}'))# 设置图表的标题pie.set_global_opts(title_opts=options.TitleOpts(title='手机销量'))# 5. 渲染数据pie.render('files/饼状图.html')
3. 折线图
from pyecharts.charts import Linefrom pyecharts import options# 1.准备数据cate = ['湖北', '四川', '重庆', '河北', '云南']data1 = [3400, 3000, 3218, 2890, 5023]data2 = [600, 100, 300, 130, 504]# 2.创建图表line = Line()# 3. 关联数据line.add_xaxis(cate)# line.add_yaxis('确诊人数', data1,# markline_opts=options.MarkLineOpts(data=[# options.MarkPointItem(type_='average')# ]))line.add_yaxis('确定人数', data1, # 设置折线是否平滑 is_smooth=True)line.add_yaxis('死亡人数', data2, markpoint_opts=options.MarkPointOpts( data=[options.MarkPointItem(type_='min', name='最小值')]))line.set_series_opts(markline_opts=options.MarkLineOpts( # 设置平均值的标记线 data=[options.MarkPointItem(type_='average', name='平均值'), # 设置最大值的标记线 options.MarkPointItem(type_='max', name='最大值')]))line.set_global_opts(title_opts=options.TitleOpts(title='主标题', subtitle='副标题'))# 5. 渲染数据line.render('files/折线图.html')
4. 地图
from pyecharts.charts import Mapfrom pyecharts import options# 1. 准备数据data = [('湖北', 1500), ('四川', 340), ('西藏', 34), ('黑龙江', 123)]# 2.创建地图对象map1 = Map()# 3. 关联数据map1.add('疫情数据', data, 'china')# 4. 设置map1.set_global_opts( # 设置颜色块标记范围 visualmap_opts=options.VisualMapOpts(max_=2000, is_piecewise=True), # 隐藏顶部的数据导航显示 legend_opts=options.LegendOpts(is_show=False), title_opts=options.TitleOpts(title='大标题', subtitle='副标题'))# 5. 渲染数据map1.render('files/地图.html')
5. 组合图
from pyecharts.charts import Gridgrid = Grid()grid.add(bar, grid_opts=options.GridOpts(pos_bottom='60%'))grid.add(line, grid_opts=options.GridOpts(pos_top='60%'))grid.render('files/组合.html')
最近在b站上发现了一个很好的python基础教学视频感兴趣的可以看看:https://www.bilibili.com/video/BV1jE411x7ss
赞 (0)