Plotly 3D 散点图和曲面图


本章将提供有关三维 (3D) 散点图和 3D 曲面图的信息,以及如何在 Plotly 的帮助下制作它们。

3D 散点图


三维 (3D) 散点图类似于散点图,但具有三个变量 - x、y 和 z 或 f(x, y) 是实数。该图可以表示为三维笛卡尔坐标系中的点。它通常使用透视方法(等距或透视)在二维页面或屏幕上绘制,因此其中一个维度似乎从页面中出来。

3D 散点图用于在三个轴上绘制数据点,以显示三个变量之间的关系。数据表中的每一行都由一个标记表示,该标记的位置取决于其在设置的列中的值 X、Y 和 Z 轴 .

第四个变量可以设置为对应于 color or size of the markers ,因此,为Plotly 增加了另一个维度。不同变量之间的关系称为 相关性 .

A Scatter3D 跟踪 是 go.Scatter3D() 函数返回的图形对象。该函数的强制参数是 x, y and z 他们每个人都是一个 列表或数组对象 .

例如:

import plotly.graph_objs as go
import numpy as np
z = np.linspace(0, 10, 50)
x = np.cos(z)
y = np.sin(z)
trace = go.Scatter3d(
    x = x, y = y, z = z,mode = 'markers', marker = dict(
        size = 12,
        color = z, # set color to an array/list of desired values
        colorscale = 'Viridis'
        )
    )
layout = go.Layout(title = '3D Scatter plot')
fig = go.Figure(data = [trace], layout = layout)
iplot(fig)

代码输出如下:

3D Scatter Plot

3D 曲面图


曲面图是三维数据的图表。在曲面图中,每个点由 3 个点定义:它的 latitude , longitude , and altitude (X、Y 和 Z)。曲面图不是显示单个数据点,而是显示指定的数据点之间的函数关系 因变量 (Y) ,以及两个自变量(X 和 Z)。该图是等高线图的配套图。

这是一个 Python 脚本,用于渲染简单的曲面图,其中 y array 是 x 的转置,z 计算为 cos(x2+y2)

import numpy as np
x = np.outer(np.linspace(-2, 2, 30), np.ones(30))
y = x.copy().T # transpose
z = np.cos(x ** 2 + y ** 2)
trace = go.Surface(x = x, y = y, z =z )
data = [trace]
layout = go.Layout(title = '3D Surface plot')
fig = go.Figure(data = data)
iplot(fig)

下面提到的是上面解释的代码的输出:

3D Surface Plot