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)

相关推荐