mirror of
https://github.com/pyecharts/pyecharts.git
synced 2025-12-08 20:59:23 +00:00
70 lines
2.0 KiB
Python
70 lines
2.0 KiB
Python
# coding=utf-8
|
|
import math
|
|
|
|
from example.commons import Collector, Faker
|
|
from pyecharts import options as opts
|
|
from pyecharts.charts import Line3D, Page
|
|
|
|
C = Collector()
|
|
|
|
|
|
@C.funcs
|
|
def line3d_base() -> Line3D:
|
|
data = []
|
|
for t in range(0, 25000):
|
|
_t = t / 1000
|
|
x = (1 + 0.25 * math.cos(75 * _t)) * math.cos(_t)
|
|
y = (1 + 0.25 * math.cos(75 * _t)) * math.sin(_t)
|
|
z = _t + 2.0 * math.sin(75 * _t)
|
|
data.append([x, y, z])
|
|
c = (
|
|
Line3D()
|
|
.add(
|
|
"",
|
|
data,
|
|
xaxis3d_opts=opts.Axis3DOpts(Faker.clock, type_="value"),
|
|
yaxis3d_opts=opts.Axis3DOpts(Faker.week_en, type_="value"),
|
|
grid3d_opts=opts.Grid3DOpts(width=100, height=100, depth=100),
|
|
)
|
|
.set_global_opts(
|
|
visualmap_opts=opts.VisualMapOpts(
|
|
max_=30, min_=0, range_color=Faker.visual_color
|
|
),
|
|
title_opts=opts.TitleOpts(title="Line3D-基本示例"),
|
|
)
|
|
)
|
|
return c
|
|
|
|
|
|
@C.funcs
|
|
def line3d_base() -> Line3D:
|
|
data = []
|
|
for t in range(0, 25000):
|
|
_t = t / 1000
|
|
x = (1 + 0.25 * math.cos(75 * _t)) * math.cos(_t)
|
|
y = (1 + 0.25 * math.cos(75 * _t)) * math.sin(_t)
|
|
z = _t + 2.0 * math.sin(75 * _t)
|
|
data.append([x, y, z])
|
|
c = (
|
|
Line3D()
|
|
.add(
|
|
"",
|
|
data,
|
|
xaxis3d_opts=opts.Axis3DOpts(Faker.clock, type_="value"),
|
|
yaxis3d_opts=opts.Axis3DOpts(Faker.week_en, type_="value"),
|
|
grid3d_opts=opts.Grid3DOpts(
|
|
width=100, depth=100, rotate_speed=150, is_rotate=True
|
|
),
|
|
)
|
|
.set_global_opts(
|
|
visualmap_opts=opts.VisualMapOpts(
|
|
max_=30, min_=0, range_color=Faker.visual_color
|
|
),
|
|
title_opts=opts.TitleOpts(title="Line3D-旋转的弹簧"),
|
|
)
|
|
)
|
|
return c
|
|
|
|
|
|
Page().add(*[fn() for fn, _ in C.charts]).render()
|