一、pyecharts的概述
pyecharts是一个针对Python用户开发的,用于生成ECharts图表的库。
1.pyecharts的优势:
(1) 简洁的API使开发者使用起来非常便捷,支持链式调用。
(2) 程序可在主流的Jupyter Notebook或JupyterLab工具上运用。
(3)程序可以轻松地集成至Flask、Sanic、Django等主流的Web框架中。
(4)灵活的配置项可以轻松搭配出精美的图表。
(5)详细的文档和示例可以帮助开发者快速地上手。
(6)400多个地图文件、原生百度地图为地理数据可视化提供强有力的支撑。
2.演示如何在Anaconda中安装pyecharts 1.5.1.
#打开Anaconda Prompt 工具,输入命令:
conda install pyecharts
#出现如下信息,表明pyecharts安装完成:
...省略 N 行...
Installing collected packages:prettytable,simplejson,pyecharts
Successfully installed prettytable-0.7.2 pyecharts-1.5.1 simplejson-3.16.0
...省略 N 行...
#安装后,在命令提示符后面输入python,之后输入导入语句:
from pyecharts.charts.charts import Bar
二、pyecharts基础知识
2.1 快速绘制图表
pyecharts有两种最常用的图表类型:
(1) 带x轴和y轴的直角坐标系图表:.add_xaxis( ) .add_yaxis( )
(2) 不带x轴和y轴的基本图表: .add( )
2.2认识图表类
使用 Base 基类构造方法
2.3认识配置项
全局配置项:set_global_opts( )
语法格式:
set_global_opts(self,title_opts=opts.TitleOpts( ),
legend_opts=opts.Legendopts(), tooltip_opts=None,
toolbox_opts=None,brush_opts=None, xaxis_opts=None,
yaxis_opts=None, visualmap_opts=None,datazoom_opts=None,
graphic_opts=None, axispointer_opts=None)
该方法各参数含义如下:
title_opts:表示标题组件的配置项。
legend_opts:表示图例组件的配置项。
tooltip_opts:表示提示框组件的配置项。
toolbox_opts:表示工具箱组件的配置项。
·brush_opts:表示区域选择组件的配置项。
xaxis_opts,yaxis_opts:表示x轴、y轴的配置项。
visualmap_opts:表示视觉映射组件的配置项。
datazoom_opts:表示数据区域缩放组件的配置项。
graphic_opts:表示原生图形元素组件的配置项。
axispointer_opts:表示坐标轴指示器组件的配置项。
系列配置项:
渲染图表:
render( )方法, render_notebook( )方法
三、绘制常用图表
pyecharts绘制各种图表步骤:
(1) 创建图表相对应类的对象
(2) 添加图表数据
(3) 添加图表系列配置项
(4) 添加图表全局配置项
(5) 渲染图表
常用图表:折线图,饼图或圆环图,散点图,3D柱形图,统计地图,漏斗图,桑基图
***(# pyecharts众多图表示例代码网站:https://gallery.pyecharts.org/#/README)
四、绘制组合图表
并行多图,顺序多图,选项卡多图,时间线轮播多图
五、运用以上所学知识,按照要求熟悉编写出图表例子
运行结果如下:
练习:可视化第一个表格数据(柱形和折线融合图)
#使用面向对象的方式
from pyecharts.charts import Bar, Line
from pyecharts.faker import Faker
from pyecharts import options as opts
#准备好所需的数据
x_data = ['2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021']
v1 = [87430,90912,96225,101885,107147,116390,105764,120215]
v2 = [7.40,4.00,5.83,5.81,5.16,8.63,-9.13,13.66]
#创建柱形图实例,填充数据,利用系列配置项
bar = (
Bar()
.add_xaxis(x_data) #调用add_xaxis()和add_yaxis()为柱形图添加x轴和y轴数据
.add_yaxis("诊疗量", v1, z=0,color="green")
.extend_axis(
yaxis=opts.AxisOpts #坐标轴配置项
( name="同比增速(%)",
min_= -35 ,
max_= 35,
axislabel_opts=opts.LabelOpts(formatter="{value}%"), #标签配置项
axisline_opts=opts.AxisLineOpts #坐标轴轴脊配置项
(
linestyle_opts=opts.LineStyleOpts(color="green")#线条样式配置项
),
)
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=True))#显示柱形图标签
.set_global_opts #设置全局配置项,传入set_global_opts()方法
(
yaxis_opts=opts.AxisOpts(
name="诊疗量(万人次)",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="green")
)),
title_opts=opts.TitleOpts(title="柱形折线融合图"),
)
)
#创建实例
line = Line().add_xaxis(x_data).add_yaxis("同比增速", v2, yaxis_index=1)
#渲染图表
bar.overlap(line)
bar.render_notebook()