pyecharts 是一个用于生成 Echarts 图表的类库。
Echarts 是百度开源的一个数据可视化 JS 库。可以生成很多效果很棒的图表。
pycharts文档 |分割| echarts官网
# 安装 1.0.x 以上版本 (需要python3.6及以上)
$ pip install pyecharts -U
# 安装 0.5.x (不建议,因为不再维护,python3.5及以下可以安装)
# pip install pyecharts==0.5.11
# pycharts可以生成很多种类的图表,如基本图表(柱状图、折线图)、3D图等等。
# 生成不同的图表,需要导入不同的模块。(本文只介绍柱状图和3D柱状图)
# 柱状图
from pyecharts import options as opts
from pyecharts.charts import Bar
x = ['haha', 'hahaha', 'hahahaha', 'hehe', 'hehehe', 'hehehehe']
y1 = [56, 90, 68, 56, 34, 9]
y2 = [3, 45, 45, 67, 8, 45]
c = (
Bar()
.add_xaxis(x) # 生成x轴
.add_yaxis("第一个柱状图", y1)
.add_yaxis("第二个柱状图", y2)
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-大标题", subtitle="Bar-副标题")) # 生成标题
.render("filename.html") # 生成对应图表的html文件
)
# 3D柱状图
def bar3d_base():
# data [[x,y,z], [x,y,z], [x,y,z], ...]
# data1 = [[1, 0, 7]]
# data2 = [[4, 0, 1]]
# 主标题
name = "这是一个3D柱状图"
# 最大值
num = 15
c = (
Bar3D(init_opts=opts.InitOpts(width="1600px", height="800px"))
# 可以写多个 add()
.add(
series_name="hahaha",
# x, y, z 数据
data=data1,
xaxis3d_opts=opts.Axis3DOpts(type_="category", name="时间"),
yaxis3d_opts=opts.Axis3DOpts(type_="category", name="id"),
zaxis3d_opts=opts.Axis3DOpts(type_="value", name="次数"),
)
.add(
series_name="hehehe",
# x, y, z 数据
data=data2,
xaxis3d_opts=opts.Axis3DOpts(type_="category", name="时间"),
yaxis3d_opts=opts.Axis3DOpts(type_="category", name="id"),
zaxis3d_opts=opts.Axis3DOpts(type_="value", name="次数"),
)
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
# 最大值
max_=num,
range_color=[
"#313695",
"#4575b4",
"#74add1",
"#abd9e9",
"#e0f3f8",
"#ffffbf",
"#fee090",
"#fdae61",
"#f46d43",
"#d73027",
"#a50026",
],
),
title_opts=opts.TitleOpts(title=name),
)
.render('filename.html') # 可以在这里保存 生成的图表 是一个HTML文件
)
# 也可以在别的地方 c.render('filename.html')