import pyecharts.options as opts
from pyecharts.charts import Bar3D
"""
过程控制工程成绩数据增长报告
使用 pyecharts 展示不同学生在各学期的成绩变化
"""
# 定义学生姓名(x轴)
students = [
"张三", "李四", "王五", "赵六", "钱七",
"孙八", "周九", "吴十", "郑十一", "王十二"
]
# 定义学期(y轴)
terms = ["大一上", "大一下", "大二上", "大二下", "大三上", "大三下"]
# 模拟过程控制工程成绩数据
# 数据格式: [学生索引, 学期索引, 成绩]
data = [
[0, 0, 65], [0, 1, 70], [0, 2, 75], [0, 3, 80], [0, 4, 85], [0, 5, 90],
[1, 0, 70], [1, 1, 72], [1, 2, 76], [1, 3, 82], [1, 4, 88], [1, 5, 92],
[2, 0, 60], [2, 1, 65], [2, 2, 70], [2, 3, 75], [2, 4, 80], [2, 5, 85],
[3, 0, 80], [3, 1, 82], [3, 2, 85], [3, 3, 88], [3, 4, 90], [3, 5, 95],
[4, 0, 68], [4, 1, 72], [4, 2, 78], [4, 3, 83], [4, 4, 87], [4, 5, 91],
[5, 0, 75], [5, 1, 78], [5, 2, 82], [5, 3, 85], [5, 4, 88], [5, 5, 93],
[6, 0, 62], [6, 1, 68], [6, 2, 73], [6, 3, 78], [6, 4, 83], [6, 5, 88],
[7, 0, 85], [7, 1, 87], [7, 2, 89], [7, 3, 91], [7, 4, 93], [7, 5, 95],
[8, 0, 72], [8, 1, 76], [8, 2, 80], [8, 3, 84], [8, 4, 88], [8, 5, 92],
[9, 0, 66], [9, 1, 70], [9, 2, 75], [9, 3, 80], [9, 4, 85], [9, 5, 90],
]
(
Bar3D(init_opts=opts.InitOpts(width="1200px", height="800px"))
.add(
series_name="过程控制工程成绩",
data=data,
xaxis3d_opts=opts.Axis3DOpts(
type_="category",
data=students,
name="学生姓名"
),
yaxis3d_opts=opts.Axis3DOpts(
type_="category",
data=terms,
name="学期"
),
zaxis3d_opts=opts.Axis3DOpts(
type_="value",
name="成绩",
min_=50 # 设置最小值使图表更直观
),
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="过程控制工程成绩增长报告",
subtitle="各学期成绩变化趋势"
),
visualmap_opts=opts.VisualMapOpts(
max_=100,
min_=50,
range_color=[
"#313695", "#4575b4", "#74add1", "#abd9e9",
"#e0f3f8", "#ffffbf", "#fee090", "#fdae61",
"#f46d43", "#d73027", "#a50026"
],
textstyle_opts=opts.TextStyleOpts(color="#000") # 修正参数名
),
toolbox_opts=opts.ToolboxOpts(is_show=True),
)
.render("process_control_grade_report.html")
)
为什么不出图