📅  最后修改于: 2020-11-29 07:09:18             🧑  作者: Mango
本章将提供有关三维(3D)散点图和3D表面图的信息,以及如何在Plotly的帮助下进行制作。
三维(3D)散点图类似于散点图,但是具有三个变量-x,y和z或f(x,y)是实数。该图可以表示为三维笛卡尔坐标系中的点。通常使用透视图方法(等轴测图或透视图)在二维页面或屏幕上绘制图形,因此其中一个尺寸似乎从页面出来。
3D散点图用于在三个轴上绘制数据点,以试图显示三个变量之间的关系。数据表中的每一行都由一个标记表示,该标记的位置取决于其在X,Y和Z轴上设置的列中的值。
可以将第四个变量设置为与标记的颜色或大小相对应,从而为绘图增加另一个维度。不同变量之间的关系称为相关。
Scatter3D跟踪是go.Scatter3D()函数返回的图形对象。该函数的强制参数是x, y和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)
代码的输出如下-
表面图是三维数据的图。在曲面图中,每个点由3个点定义:其纬度,经度和高度(X,Y和Z)。表面图未显示单个数据点,而是显示了指定因变量(Y)和两个自变量(X和Z)之间的函数关系。该图是轮廓图的伴侣图。
这是一个Python脚本,用于渲染简单的表面图,其中y数组是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)
下面提到的是上面解释的代码的输出-