我有一个表面图的网格数据,其轮廓显示了测深数据。我想知道他们是否是一种关闭曲面图和 3D 跟踪线的方法,因此它只显示地面上的投影跟踪轮廓?
我的目标是在等高线上叠加单独的 3D 散点图数据,因此 2D 等高线图不适用于此目的。
我发现您可以通过将不透明度设置为 0 来移除曲面图。不过这不太正确,因为我无法弄清楚如何仅在地平面上显示投影轨迹线。< /p>
Trace only with surface opacity set to zero
import plotly.graph_objects as go
import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
app = dash.Dash()
# Read data from a csv
z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv')
surf_fig = go.Figure(data=[go.Surface(
z=z_data.values,
opacity=0
)
])
surf_fig.update_layout(title='Mt Bruno Elevation', autosize=False,
scene_camera_eye=dict(x=1.87, y=0.88, z=-0.64),
width=500, height=500,
margin=dict(l=65, r=50, b=65, t=90),
)
surf_fig.update_scenes(camera_projection_type='orthographic')
surf_fig.update_traces(contours_z=dict(show=True, usecolormap=True,
highlightcolor="#39CCCC", project_z=True))
depth_surface = html.Div([dcc.Graph(figure=surf_fig)
])
app.layout = html.Div([dcc.Graph(figure=surf_fig)])
app.run_server(debug=True, use_reloader=False)
任何建议都会很棒!提前致谢!