簡體   English   中英

如何創建 3d 散點圖 plot

[英]How to create 3d scatter plot

精通Plotly,請幫幫我。 我有一個帶高度的矩陣。 我需要使用 Scatter 構建 go.Surface 的模擬。 如果這不可能,則在曲面圖上標記點(頂點)。 所有這些都是更好地確定頂點所必需的。 謝謝你。

import plotly.graph_objects as go
import pandas as pd
import numpy as np
z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv')
fig = go.Figure()
fig.add_trace(go.Surface(z=z_data.values))
#fig.add_trace(go.Scatter3d(z=z_data.values))
fig.update_layout(title='Mt Bruno Elevation', autosize=False,
              width=500, height=500,
              margin=dict(l=65, r=50, b=65, t=90))

fig.show()

類似於這個

在此處輸入圖像描述

我對 3D 圖沒有太多經驗。 我根據您的數據創建了一個散點圖 3D,我將數據框的列分配給 y 軸,將數據框的行分配給 x 軸,將 z 軸轉換為數據框元素的一維列表並繪制它。 這是否符合問題的意圖?

import plotly.graph_objects as go
import pandas as pd
import numpy as np

z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv',index_col=0)

x_tmp = z_data.index.tolist()
xx = [[t]*24 for t in x_tmp]
xx = sum(xx, [])

y_tmp = z_data.columns.tolist()
yy = [int(t) for t in y_tmp]
yy = yy * 25

fig = go.Figure()

fig.add_trace(go.Scatter3d(x=xx, y=yy,
                           z=sum(z_data.values.tolist(),[]),
                           mode='markers',
                          marker=dict(size=2)))
#fig.add_trace(go.Scatter3d(z=z_data.values))

fig.update_layout(title='Mt Bruno Elevation', autosize=True,
              width=800, height=800,
              margin=dict(l=65, r=50, b=65, t=90))

fig.show()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM