在Python中使用 Plotly 绘制 3D 曲面图
Plotly 是一个Python库,用于设计图形,尤其是交互式图形。它可以绘制各种图形和图表,如直方图、条形图、箱线图、散布图等等。它主要用于数据分析和财务分析。 plotly 是一个交互式可视化库。
曲面图
曲面图是具有 X、Y 和 Z 三个维度数据的图。曲面图不是显示单个数据点,而是在因变量 Y 之间具有函数关系,并具有两个自变量 X 和 Z。该图是用于区分因变量和自变量。
Syntax: plotly.graph_objects.Surface(arg=None, hoverinfo=None, x=None, y=None, z=None, **kwargs)
Parameters:
arg: dict of properties compatible with this constructor or an instance of plotly.graph_objects.Surface
x: Sets the x coordinates.
y: Sets the y coordinates.
z: Sets the z coordinates.
hoverinfo: Determines which trace information appear on hover. If none or skip are set, no information is displayed upon hovering. But, if none is set, click and hover events are still fired.
例子:
Python3
import plotly.graph_objects as go
import numpy as np
x = np.outer(np.linspace(-2, 2, 30), np.ones(30))
y = x.copy().T
z = np.cos(x ** 2 + y ** 2)
fig = go.Figure(data=[go.Surface(x=x, y=y, z=z)])
fig.show()
Python3
import plotly.graph_objects as go
import numpy as np
x = np.outer(np.linspace(-2, 2, 30), np.ones(30))
# transpose
y = x.copy().T
z = np.cos(x ** 2 + y ** 2)
fig = go.Figure(data=[go.Surface(x=x, y=y, z=z)])
fig.update_traces(contours_z=dict(
show=True, usecolormap=True,
highlightcolor="limegreen",
project_z=True))
fig.show()
输出:
用等高线显示曲面图
在 plotly 中,contours 属性用于显示和自定义每个轴的轮廓数据。
例子:
Python3
import plotly.graph_objects as go
import numpy as np
x = np.outer(np.linspace(-2, 2, 30), np.ones(30))
# transpose
y = x.copy().T
z = np.cos(x ** 2 + y ** 2)
fig = go.Figure(data=[go.Surface(x=x, y=y, z=z)])
fig.update_traces(contours_z=dict(
show=True, usecolormap=True,
highlightcolor="limegreen",
project_z=True))
fig.show()
输出: