微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带轮廓的曲面图 - 仅在 3D 图中绘制投影轮廓/轨迹

如何解决带轮廓的曲面图 - 仅在 3D 图中绘制投影轮廓/轨迹

我有一个表面图的网格数据,其轮廓显示了测深数据。我想知道他们是否是一种关闭曲面图和 3D 跟踪线的方法,因此它只显示地面上的投影跟踪轮廓?

我的目标是在等高线上叠加单独的 3D 散点图数据,因此 2D 等高线图不适用于此目的。

我发现您可以通过将不透明度设置为 0 来移除曲面图。不过这不太正确,因为我无法弄清楚如何仅在地平面上显示投影轨迹线。

Example with surface

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)  

任何建议都会很棒!提前致谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。