代码

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")
    )

效果图

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐