一、pyecharts 模块介绍
✨什么是pyecharts:
-
pyecharts 是一个用于生成 Echarts 图表的类库。
-
echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化。pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 与 Python 的对接。
-
使用 pyecharts 可以生成独立的网页,也可以在 flask , Django 中集成使用。
📣 特性
-
简洁的 API 设计,使用如丝滑般流畅,支持链式调用
-
囊括了 30+ 种常见图表,应有尽有
-
支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab
-
可轻松集成至 Flask,Django 等主流 Web 框架
-
高度灵活的配置项,可轻松搭配出精美的图表
-
详细的文档和示例,帮助开发者更快的上手项目
-
多达 400+ 地图文件以及原生的百度地图,为地理数据可视化提供强有力的支持
更多参考:
二、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(词云图)
三、安装pyecharts 模块
1.安装模块
首先在命令行下载 pyecharts 模块
pip3 install pyecharts
说明:
-
这里要专门说明一下,自从 0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表(Geo、Map),可自行安装对应的地图文件包。
-
否则在用到这两个包的时候,并能完整的显示地图效果。
-
: (1.9MB): 世界地图和 213 个国家,包括中国地图
-
: (730KB):23 个省,5 个自治区
-
: (3.8MB):370 个中国城市
-
windows下通过以下的pip命令安装
pip install echarts-countries-pypkgpip install echarts-china-provinces-pypkgpip install echarts-china-cities-pypkg
-
Linux下通过以下的pip命令进行安装
sudo pip3 install echarts-countries-pypkgsudo pip3 install echarts-china-provinces-pypkgsudo pip3 install echarts-china-cities-pypkgsudo pip3 install echarts-countries-pypkgsudo pip3 install echarts-china-provinces-pypkgsudo pip3 install echarts-china-cities-pypkg
-
相关函数、参数说明
介绍一些可能用到的基本函数
-
add() 主要方法,用于添加图表的数据和设置各种配置项
-
show_config() 打印输出图表的所有配置项
-
render() 默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r”e:my_first_chart.html”),文件用浏览器打开。
基本上所有的图标类型都是这样绘制的:
-
chart_name = Type()
初始化具体类型图表。 -
add()
加数据及配置项。 -
render()
生成.html
文件。
2.查看版本
import pyechartsprint(pyecharts.__version__) #1.9.0
四、pyecharts 模块的使用
(一)Bar(柱状图/条形图)
1.创建一个简单的柱状图
from pyecharts.charts import Barbar = Bar() # 先得到一个表格对象bar.add_xaxis(["康康","赵总","淘小欣","派大星","骨骨"]) # 设置 X 轴bar.add_yaxis("语文成绩",[100,50,40,28,90]) # 以下都是设置 Y 轴bar.add_yaxis("美术成绩",[120,500,720,8,80])bar.add_yaxis("音乐成绩",[430,500,500,88,60])bar.add_yaxis("计算机成绩",[95,63,70,66,70])bar.add_yaxis("体育成绩",[910,950,700,660,700])bar.render("./transcript.html") # render 会生成本地 HTML 文件, 默认是当前目录, 也可以传入路径参数
文件用浏览器打开如图所示:
2.链式调用
链式调用介绍:
✔在python中是实现链式调用只需要在函数返回对象自己就行了💖原理:上一个方法返回对象,是下一个调用方法的执行对象,依次执行下去,就成了链式调用方法🍬链式调用:返回对象自己, 可以再方法后继续接方法class Person(): def name(self,name): self.name=name return self def age(self,age): self.age=age return self def show(self): return self.name,self.agep=Person()print(p.name("淘小欣").age(4).show()) #('淘小欣', 4)
V1 版本开始支持链式调用, pyecharts所有方法均支持链式调用。
from pyecharts.charts import Barbar=( Bar() .add_xaxis(["康康","赵总","淘小欣","派大星","骨骨"]) .add_yaxis("英语成绩",[22,44,55,88,99,34]) .add_yaxis("语文成绩", [150,178,190,140,125]) .add_yaxis("计算机成绩", [100,101.5,99.5,68,78]))bar.render("./soure.html")
浏览器打开如图所示:
3.添加柱状图的标题和副标题
导入 : options
from pyecharts.charts import Barfrom pyecharts import options as optsbar=( Bar() .add_xaxis(["康康","赵总","淘小欣","派大星","骨骨"]) .add_yaxis("英语成绩",[22,44,55,88,99,34]) .add_yaxis("语文成绩", [150,178,190,140,125]) .add_yaxis("计算机成绩", [100,101.5,99.5,68,78]) .set_global_opts(title_opts=opts.TitleOpts(title="2021年度成绩单")) # 或者直接使用字典参数, 使用字典的时候就不需要导入模块 # .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"}))bar.render("./soure.html")
图片效果:
4.渲染出图片
-
使用 snapshot-selenium 渲染图片
-
需要先安装
pip3 install selenium
模块, 然后下载 chromedriver.exe, 版本需要和谷歌浏览器版本相同,Chrome://version
可查看版本 -
目前只支持chrom,Safari浏览器, 把exe放在浏览器安装目录下,把目录加入到环境变量,也可以直接放在Python解释器目录下
import pyechartsfrom pyecharts.charts import Barfrom pyecharts.render import make_snapshotfrom snapshot_selenium import snapshotbar = ( Bar() .add_xaxis(["派大星", "海绵宝宝", "章鱼哥", "蟹老板", "痞老板"]) .add_yaxis("语文分数",[100,50,40,28,90]) .add_yaxis("数学分数",[120,150,80,8,80]) .add_yaxis("英语分数",[80,50,50,88,60]) .add_yaxis("化学分数",[95,63,70,66,70]) .set_global_opts(title_opts={ "text": "蟹堡王", "subtext": "成绩"}))make_snapshot(snapshot, bar.render("./mycharts.html"), "./myecharts.png")
图片效果:
5.设置主题
提供的主题有很多, 需要导入 ThemeType, 内置主题类型可查看 pyecharts.globals.ThemeType, 也可以在 Pycharm 中使用 .
查看
from pyecharts.charts import Barfrom pyecharts import options as optsfrom pyecharts.render import make_snapshotfrom snapshot_selenium import snapshot# 内置主题类型可查看 pyecharts.globals.ThemeTypefrom pyecharts.globals import ThemeTypebar = ( Bar(init_opts=opts.InitOpts(theme=ThemeType.MACARONS)) # 使用"点"就可以选择 .add_xaxis(["派大星", "海绵宝宝", "章鱼哥", "蟹老板", "痞老板"]) .add_yaxis("语文分数",[100,50,40,28,90]) .add_yaxis("数学分数",[120,150,80,8,80]) .add_yaxis("英语分数",[80,50,50,88,60]) .add_yaxis("化学分数",[95,63,70,66,70]) .set_global_opts(title_opts={ "text": "蟹堡王", "subtext": "成绩"}))make_snapshot(snapshot, bar.render("./mycharts.html"), "./myecharts.png")
图片展示:
6.图标类型
不想谢了,改天再来!!!