import pyecharts.options as opts
from pyecharts.charts import Line3D
import random
import csv
filename = ‘tests.csv’
week_en = “Saturday Friday Thursday Wednesday Tuesday Monday Sunday”.split()
clock = (
"12a 1a 2a 3a 4a 5a 6a 7a 8a 9a 10a 11a 12p "
“1p 2p 3p 4p 5p 6p 7p 8p 9p 10p 11p”.split()
)
with open(filename) as f:
# 创建一个与该文件相关联的reader对象
reader = csv.reader(f)
# 只调用一次next()方法,得到文件的第一行,将第一行数据中的每一个元素存储在列表中
header_row = next(reader)
# 从文件中获取第二列的值(该列表示最高气温)
data = []
for row in reader:
# 转换为数字,便于后面让matplotlib能够读取它们
# high = int(row[1])
high=float(row[1])
x=random.randint(0,480)
y=random.randint(0,640)
z= high
# data.append(high)
data.append([x, y, z])
(
Line3D()
.add(
“”,
data,
xaxis3d_opts=opts.Axis3DOpts(data=clock, type_=“value”),
yaxis3d_opts=opts.Axis3DOpts(data=week_en, type_=“value”),
grid3d_opts=opts.Grid3DOpts(width=100, height=100, depth=100),
)
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
dimension=2,
max_=30,
min_=0,
range_color=[
“#313695”,
“#4575b4”,
“#74add1”,
“#abd9e9”,
“#e0f3f8”,
“#ffffbf”,
“#fee090”,
“#fdae61”,
“#f46d43”,
“#d73027”,
“#a50026”,
],
),
title_opts=opts.TitleOpts(title="Line3D-静止的温度折线图"),
)
.render("line3d_rectangular_projection.html")
)