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()
函式跟蹤的更多詳細資訊。