[英]Create a 3D surface plot in Plotly
我想通過從外部文件讀取數據在 Plotly 中創建一個 3D 曲面圖。 以下是我正在使用的代碼:
import numpy as np
import plotly.graph_objects as go
import plotly.express as px
data = np.genfromtxt('values.dat', dtype=float)
# The shape of X, Y and Z is (10,1)
X = data[:,0:1]
Y = data[:,1:2]
Z = data[:,2:3]
fig = go.Surface(x=X, y=Y, z=Z, name='Surface plot', colorscale=px.colors.sequential.Plotly3)
plot(fig)
上面的代碼不會產生任何曲面圖。 必須進行哪些更改才能創建曲面圖?
從情節圖參考:
描述表面坐標的數據設置在z
。 z
數據應該是一個二維列表。 x
和y
坐標可以是一維列表或 {2D 數組}
我有一個示例數據集。 它包含三列 (x,y,z)。
import plotly.graph_objects as go
import pandas as pd
import numpy as np
from scipy.interpolate import griddata
df = pd.read_csv('./test_data.csv')
x = np.array(df.lon)
y = np.array(df.lat)
z = np.array(df.value)
xi = np.linspace(x.min(), x.max(), 100)
yi = np.linspace(y.min(), y.max(), 100)
X,Y = np.meshgrid(xi,yi)
Z = griddata((x,y),z,(X,Y), method='cubic')
fig = go.Figure(go.Surface(x=xi,y=yi,z=Z))
fig.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.