文档位于 https://pyecharts.org/#/zh-cn/intro
示例位于 https://gallery.pyecharts.org/#/README
echarts
官网 https://www.echartsjs.com/zh/index.html
Pyecharts一共有三个大版本:V0.X 、 V1.X 、V2.X ,版本之间差别比较大!,v0.5.X 和 v1 间不兼容,v1 是一个全新的版本,详见 ISSUE#892,ISSUE#1033。
支持 Python2.7,3.4+
经开发团队决定,0.5.x 版本将不再进行维护,0.5.x 版本代码位于 05x 分支,文档位于 05x-docs.pyecharts.org。
仅支持 Python3.6+
新版本系列将从 v1.0.0 开始,文档位于 pyecharts.org,即本文档。
支持 Python3.6 ~ Python 3.11
新版本系列从 Echarts 4 切换到 Echarts 5
宏哥本系列用的 Pyecharts 版本是2.0.4 ! 如下图所示:
谨记:不要装错啦!不同版本有些图参数设置不一样!
(1)直接 pip 安装:
pip(3) install pyecharts==2.0.4
显示successfully,表示安装成功!!!
但宏哥实测时发现,由于墙的原因,下载时会出现断线和速度过慢的问题导致下载失败,所以建议通过清华镜像来进行下载:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts
(2)源码安装
$ git clone https://github.com/pyecharts/pyecharts.git
$ cd pyecharts
$ pip install -r requirements.txt
$ python setup.py install
# 或者执行 python install.py
(3)查看已安装版本:
import pyecharts
print(pyecharts.__version__)
pip install xxx(库名)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ xxx(库名)
后期涉及到地图部分的可视化,所以这里就把地图包先装上(如果自己的可视化不包含地图,可以先不装,需要的时候再装也可以):
pip install pyecharts
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
(1)add(...)主要方法,用于加载要绘制的图表数据和设置各种配置。
(2)show_config();打印输出图标的所有配置项信息
(3)render(“xxx.html”):用于绘制生成html文件,默认在根目录下生成一个html文件,当未指定要绘制的文件名称,默认render.html。支持设置文件保存位置。
(1)初始化图表类型
Xxx=图表类型()
chart_name = Type() #初始化具体类型图表
例如,绘制柱图
mybar=Bar()
(2)添加配置项
xxx.add(.....)
add() #加数据及配置项,基本都在操作这个函数
(3)生成html文件
xxx.render(“xxx.html”)
render() #生成 .html文件,可设置文件类型
# 将图形渲染到 notebook
def render_notebook()
def render(
# 生成图片路径
path: str = "render.html",
# 模板路径
template_name: str = "simple_chart.html",
# jinja2.Environment 类实例,可以配置各类环境参数
env: Optional[Environment] = None,
)
图形的设置方法都是同宗同源,大致主要为以下几种:
1、设置颜色:
.add_yaxis( "商家A", Faker.values(), itemstyle_opts=opts.ItemStyleOpts(color='red')
2、设置间距与宽度:通过添加gap百分比,默认为类目间距的 20%
.add_yaxis('门店', data2,category_gap="50%")
3、设置是否显示数据:通过添加label_opts = opts.LabelOpts(is_show=False)
.add_yaxis('MSE', data1,label_opts = opts.LabelOpts(is_show=False))
4、设置平均线:
.add_yaxis('MSE', data1, markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average")])
5、设置y轴显示数据的范围:在.set_global_opts里添加yaxis_opts=opts.AxisOpts(min_=0.35,)min_和max_
.set_global_opts(title_opts=opts.TitleOpts(title="MSE", subtitle="MSE与决策树数量关系图"), yaxis_opts=opts.AxisOpts(min_=0.35,max_=0.6))
6、设置datazoom_opts拉动条形轴:在.set_global_opts里添加datazoom_opts=[opts.DataZoomOpts()],
.set_global_opts(title_opts=opts.TitleOpts(title="MSE", subtitle="MSE与决策树数量关系图"), datazoom_opts=[opts.DataZoomOpts()], yaxis_opts=opts.AxisOpts(min_=0.33,))
7、设置画布大小:
Bar(init_opts=opts.InitOpts(width="720px", height="680px"))
8、设置图形中的竖直区域
.set_series_opts( markarea_opts=opts.MarkAreaOpts( data=[ opts.MarkAreaItem(x=(s,e)) for s,e in zip([10],[12]) ] ))
9、横坐标显示不全,倾斜横坐标
.set_global_opts(title_opts=opts.TitleOpts(title="天气情况"), xaxis_opts=opts.AxisOpts(name='日期',axislabel_opts={"rotate":50}))
首先开始来绘制你的第一个图表。
1.参考代码
# coding=utf-8🔥
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2024-01-26
@author: 北京-宏哥
公众号:北京宏哥
Project: Python可视化神器1-Pyecharts绘图详细教程
'''
# 3.导入模块
from pyecharts.charts import Bar
bar = Bar()
bar.add_xaxis([2011,2012,2013,2014,2015,2016,2017])
bar.add_yaxis("产品销量", [58000,60200,63000,71000,84000,90500,107000])
bar.render()
2.运行代码后,在本地电脑的目录下找到文件,浏览器打开,如下图所示:
注:调用 render()
方法的时候会在本地生成一个 HTML 文件,默认会在当前目录生成 render.html 文件,同时也可以传入路径的参数,如 bar.render("mycharts.html")
,拿着这个 HTML 文件直接扔到浏览器中运行就能看到我们刚才创建的柱状图了。
链式调用的除了写法和前面的不同,作用完全相同,各位同学选择自己习惯的写法就行。
pyecharts 的方法都支持链式调用,就是上面这一段我们可以换成链式调用的写法,如下:
# coding=utf-8🔥
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2024-01-26
@author: 北京-宏哥
公众号:北京宏哥
Project: Python可视化神器1-Pyecharts绘图详细教程
'''
# 3.导入模块
from pyecharts.charts import Bar
bar = (
Bar()
.add_xaxis([2017,2018,2019,2020,2021,2022,2023])
.add_yaxis("产品销量", [58000,60200,63000,71000,84000,90500,107000])
)
bar.render()
注: 这里链式,通俗点就是直接在Bar()后面用 .
直接调用,像调用函数一样,记得最外面有一个小括号哦。
使用 options 配置项,在 pyecharts 中,一切皆 Options。
在使用 pyecharts 的时候,大量的配置是使用 options 完成的,下面看一个使用 options 进行主标题和副标题配置的小示例:
1.参考代码
# coding=utf-8🔥
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2024-01-26
@author: 北京-宏哥
Project: Python可视化神器1-Pyecharts绘图详细教程
'''
# 3.导入模块
from pyecharts.charts import Bar
from pyecharts import options as opts
# V1 版本开始支持链式调用
# 你所看到的格式其实是 `black` 格式化以后的效果
# 可以执行 `pip install black` 下载使用
bar = (
Bar()
.add_xaxis([2017,2018,2019,2020,2021,2022,2023])
.add_yaxis("产品销量", [58000,60200,63000,71000,84000,90500,107000])
.set_global_opts(title_opts=opts.TitleOpts(title="17 ~ 23年 xxx 公司 xx 产品销量图", subtitle="这里是副标题"))
# 或者直接使用字典参数
# .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
)
bar.render('render_1.html')
# 不习惯链式调用的开发者依旧可以单独调用方法
bar = Bar()
bar.add_xaxis([2017,2018,2019,2020,2021,2022,2023])
bar.add_yaxis("产品销量", [58000,60200,63000,71000,84000,90500,107000])
bar.set_global_opts(title_opts=opts.TitleOpts(title="17 ~ 23年 xxx 公司 xx 产品销量图", subtitle="这里是副标题"))
bar.render('render_1.html')
2.运行代码后,在本地电脑的目录下找到文件,浏览器打开,如下图所示:
如果想要将结果保存成图片,需要使用 snapshot-selenium 将结果渲染成图片,如果没有安装的话需要先安装,安装命令如下:
pip install snapshot_selenium
这里有一点需要注意,如果想要正常的使用 snapshot_selenium ,需要本地有和当前 Chrome 正常配套的 ChromeDriver ,如果没有,需要先安装。
1.参考代码
# coding=utf-8🔥
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2024-01-26
@author: 北京-宏哥
Project: Python可视化神器1-Pyecharts绘图详细教程
'''
# 3.导入模块
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
bar = (
Bar()
.add_xaxis([2017,2018,2019,2020,2021,2022,2023])
.add_yaxis("产品销量", [58000, 60200, 63000, 71000, 84000, 90500, 107000])
.set_global_opts(title_opts=opts.TitleOpts(title="11 ~ 17年 xxx 公司 xx 产品销量图", subtitle="这里是副标题"))
)
make_snapshot(snapshot, bar.render(), "bar_1.png")
这时,在同目录下生成了一个名称为 bar_1.png
的图片,就不贴出来了,和上面的图片是一样的,只是这张 png 图片是透明底的。
pyecharts 还提供了 10+ 种内置主题,如果有需要也可以自己定制自己喜欢的主题,示例如下:
1.参考代码
# coding=utf-8🔥
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2024-01-26
@author: 北京-宏哥
Project: Python可视化神器1-Pyecharts绘图详细教程
'''
# 3.导入模块
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
bar = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add_xaxis([2017,2018,2019,2020,2021,2022,2023])
.add_yaxis("产品A", [58000, 60200, 63000, 71000, 84000, 90500, 107000])
.add_yaxis("产品B", [78000,80200,93000,101000,64000,70500,87000])
.set_global_opts(title_opts=opts.TitleOpts(title="17 ~ 23年 xxx 公司 xx 产品销量图", subtitle="这里是副标题"))
)
bar.render('render_2.html')
2.运行代码后,在本地电脑的目录下找到文件,浏览器打开,如下图所示:
本文就是简单的介绍了一些Pyecharts的特性以及展示了几个基本图形。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。