Plotly 3D 散点图
本教程将讨论在 Python 中使用 Plotly 的 scatter_3d()
函数创建 3D 散点图。
在 Python 中使用 Plotly 的 scatter_3d()
函数创建 3D 散点图
散点图将数据点显示为图形上的圆圈或气泡。要创建 3D 散点图,我们可以使用 plotly.express
的 scatter_3d()
函数。
要创建 3D 散点图,我们必须在 scatter_3d()
函数中传递 x、y 和 z 轴值。如果只给出一个轴值,该函数将使用这些值的索引作为第二个和第三个轴值。
例如,让我们使用 Plotly 中已经存在的 iris
数据集创建一个 3D 散点图。请参阅下面的代码。
import plotly.express as px
df = px.data.iris()
fig = px.scatter_3d(df, x='sepal_length', y='sepal_width', z='petal_width',
color='species')
fig.show()
输出:
width
和 height
参数用于设置上图的宽度和高度(以像素为单位)。我们还可以使用数据框创建 3D 散点图。
对于数据框,我们可以使用 data_frame
参数在 scatter_3d()
函数内传递数据。我们可以使用 color
参数为每个气泡赋予随机颜色。
scatter_3d()
函数将使用颜色序列来设置每个气泡的颜色。我们可以使用 size
参数设置每个气泡的大小,并将其值设置为整数列表或数据框列。
我们可以使用 hover_name
参数为每个气泡设置悬停标题,并将其值设置为字符串列表或数据框列。
我们还可以使用 text
参数在每个气泡内添加文本,并将其值设置为字符串列表或数据框列。
例如,让我们更改上面提到的属性。请参阅下面的代码。
import plotly.express as px
df = px.data.iris()
fig = px.scatter_3d(df, x='sepal_length', y='sepal_width', z='petal_width',
color='species', size='sepal_width', hover_name='species')
fig.show()
输出:
在 Python 中更改 3D 散点图的颜色和轨迹
我们还可以在每个气泡上添加误差条,使用 error_x
表示 x 轴误差,error_y
表示 y 轴误差,error_z
表示 z 轴误差。
我们可以使用 color_discrete_sequence
更改默认颜色序列,并使用 plotly.express.color.qualitative
属性将其值设置为 Plotly 支持的颜色序列,如 Dark24
和 Light24
。
例如,让我们更改上述 3D 散点图的颜色顺序。请参阅下面的代码。
import plotly.express as px
df = px.data.iris()
fig = px.scatter_3d(df, x='sepal_length', y='sepal_width', z='petal_width',
color='species', size='sepal_width',error_z='petal_width',color_discrete_sequence=px.colors.qualitative.Dark24)
fig.show()
输出:
要改变颜色序列,我们需要改变上面代码中的颜色序列名称,比如从 Dark24
到 Light24
。如果我们想给每个气泡我们的颜色而不是颜色序列,我们可以使用 color_discrete_map
参数来覆盖颜色序列。
检查此链接以获取有关 Plotly 颜色的更多详细信息。
例如,让我们更改上图中出现的前两个气泡序列的颜色。请参阅下面的代码。
import plotly.express as px
df = px.data.iris()
fig = px.scatter_3d(df, x='sepal_length', y='sepal_width', z='petal_width',
color='species',color_discrete_map={'setosa':'red','versicolor':'green'})
fig.show()
输出:
我们只更改了前两种颜色,其余颜色将来自默认颜色序列。我们可以使用 opacity
参数设置气泡的不透明度,并将其值设置为 0 到 1。
我们还可以使用 log_x
、log_y
和 log_z
参数将轴更改为对数刻度,并将其值设置为 true。我们可以使用 title
参数设置图形的标题。
我们还可以使用 scatter_3d()
函数更改 3D 散点图的许多其他属性,并使用 fig.update_traces()
函数更改轨迹。我们可以使用 showlegend
参数隐藏图例并将其值设置为 false。
我们可以使用 error_y_color
参数更改误差线的颜色,默认情况下与气泡颜色相同。
例如,让我们改变上面提到的痕迹。请参阅下面的代码。
import plotly.express as px
df = px.data.iris()
fig = px.scatter_3d(df, x='sepal_length', y='sepal_width', z='petal_width',
color='species',error_z='petal_width')
fig.update_traces(showlegend=False, error_z_color='red')
fig.show()
输出:
检查此链接以获取有关 scatter_3d()
函数跟踪的更多详细信息。