目录
一、什么是pyecharts?
pyecharts 是一个用于生成 Echarts 图表的类库。 Echarts 是百度开源的一个数据可视化JS库,主要用于数据可视化。实际上就是 Echarts 与 Python 的对接。使用 pyecharts 可以生成独立的网页,也可以在 flask , Django 中集成使用。
这个是pyecharts的中文官方文档:http://pyecharts.org/#/zh-cn/quickstart
二、pyecharts的安装
本文是在Windows10环境下进行安装,Python版本是3.7.3,输入如下命令将自动安最新版本的pyecharts:
pip install pyecharts
注意:pyecharts 分为 v0.5.x 和 v1.x 两个大版本,v0.5.x 和 v1.x 间不兼容,v1.x 是一个全新的版本。并且经Pyecharts开发团队决定,0.5.x 版本将不再进行维护,因此大家最好都用最新版。(这2个版本的语法风格不同,会在第三节讲明。)以下是Python和pyecharts之间的对应关系:
pyecharts版本 | v0.5.x | v1.x |
Python版本 | Python2.7,3.4+ | Python3.6+ |
安装完成后,在cmd窗口输入以下命令,可以查看使用pip命令安装的Python库:
pip list
如果你已经安装了PyCharm并已经配置好了Python环境,那么编译器会自动导入你安装的pyecharts库,现在可以来编写代码测试了!
三、pyecharts渲染
pyecharts v1.x版本后,提供了 selenium, phantomjs 和 pyppeteer 三种方式的渲染,具体方式见官方文档。这里我采用selenium方式,具体安装方式见我下一篇文章。
四、pyecharts的使用
这里只展示v1.x版本的写法,v1.x版本的pyecharts均支持链式调用。
更多样例及使用方法请参考文首给出的官方文档。
或者(https://www.cnblogs.com/hunterZ/p/11223152.html)
(1)Bar:柱状图/条形图
from pyecharts.charts import Bar
from pyecharts import options as opts
# V1 版本开始支持链式调用
# 你所看到的格式其实是 `black` 格式化以后的效果
# 可以执行 `pip install black` 下载使用
#Bar是柱状图/条形图
bar = (
Bar()
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
# 或者直接使用字典参数
# .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
)
bar.render()
# 不习惯链式调用的开发者依旧可以单独调用方法
bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
bar.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
bar.render()
(2)Line:折线图/面积图
import pyecharts.options as opts
from pyecharts.charts import Line
line=Line()
line.add_xaxis(["201{}年/{}季度".format(y,z)
for y in range(4)
for z in range(1,5)]) #设置x轴数据
line.add_yaxis(
"电视机销量",
[4.80,4.10,6.00,6.50,5.80,5.20,6.80,7.40,
6.00,5.60,7.50,7.80,6.30,5.90,8.00,8.40]
)#设置y轴数据
line.set_global_opts(
xaxis_opts=opts.AxisOpts(
axislabel_opts=opts.LabelOpts(rotate=-40),
),#设置x轴标签旋转角度
title_opts=opts.TitleOpts(title="折线图")) #设置图表标题
#line.render()#渲染图表,默认文件名为render.html
line.render(r"E:\Pycharm\PycharmProjects\untitled\picture_result\test02.html")#指定路径渲染图表
(3)Pie:饼图
from pyecharts.charts import Pie#饼图所导入的包
from pyecharts import options as opts#全局设置所导入的包
def Pie1():
pie=(
Pie()
.add("",[['农林牧渔业增加值(亿元)', '67538'],
['工业增加值(亿元)', '305160.2'],
['建筑业增加值(亿元)', '61808'],
['批发和零售业增加值(亿元)', '84200.8'],
['交通运输、仓储和邮政业增加值(亿元)', '40550.2'],
['住宿和餐饮业增加值(亿元)', '16023'],
['金融业增加值(亿元)', '69100'],
['房地产业增加值(亿元)', '59846']])#加入数据
.set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例"),legend_opts=opts.LegendOpts(pos_left=160))#全局设置项
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")))#样式设置项
return pie
Pie1().render(r"E:\Pycharm\PycharmProjects\untitled\picture_result\test03.html")#保存图片为HTML网页