代码
import numpy as np
import pyecharts.options as opts
from pyecharts.charts import Scatter3D
if __name__ == '__main__':
a = np.arange(1, 10, 0.1)
b = a * 2 + 10
c = a + b
# 这里的 data 格式是 [ (x,y,z), (x,y,z), (x,y,z), ........]
data = list(zip(a, b, c))
config_xAxis3D = "x_value"
config_yAxis3D = "y_value"
config_zAxis3D = "z_value"
(
Scatter3D(
init_opts=opts.InitOpts(width="1440px", height="720px")
) # bg_color="black"
.add(
series_name="",
data=data,
xaxis3d_opts=opts.Axis3DOpts(
name=config_xAxis3D,
type_="value",
# textstyle_opts=opts.TextStyleOpts(color="#fff"),
),
yaxis3d_opts=opts.Axis3DOpts(
name=config_yAxis3D,
type_="value",
# textstyle_opts=opts.TextStyleOpts(color="#fff"),
),
zaxis3d_opts=opts.Axis3DOpts(
name=config_zAxis3D,
type_="value",
# textstyle_opts=opts.TextStyleOpts(color="#fff"),
),
grid3d_opts=opts.Grid3DOpts(width=100, height=100, depth=100),
)
.set_global_opts(
visualmap_opts=[
opts.VisualMapOpts(
type_="color",
is_calculable=True,
dimension=3,
pos_top="10",
max_=79 / 2,
range_color=[
"#1710c0",
"#0b9df0",
"#00fea8",
"#00ff0d",
"#f5f811",
"#f09a09",
"#fe0300",
],
),
opts.VisualMapOpts(
type_="size",
is_calculable=True,
dimension=4,
pos_bottom="10",
max_=2.4 / 2,
range_size=[2, 10],
),
]
)
.render("scatter3d.html")
)