Plotly中使用mirror='allticks'时如何显示立方区域全部棱边?
解决Plotly等值面图中显示全部12条立方棱边的问题
使用mirror='allticks'参数仅能显示轴刻度对应的6条棱边,因为该参数仅会镜像绘制坐标轴本身的线条,而非完整的立方体边框。要显示全部12条棱边,需要手动在场景中添加3D线条形状来补全剩余的棱边。
修改后的代码示例
import plotly.graph_objects as go fig = go.Figure(data=go.Isosurface( x=[0, 0, 0, 0, 1, 1, 1, 1], y=[1, 0, 1, 0, 1, 0, 1, 0], z=[1, 1, 0, 0, 1, 1, 0, 0], value=[1, 0, 1, 0, 2, -2, 3, 6], surface=dict(count=50, fill=1.0), isomin=2.0, isomax=9.0)) config = dict(showline=True, linecolor='black', showbackground=False, range=[-0.0, 1.0], tickcolor='black', mirror='allticks', ticks='outside') # 定义立方体的12条棱边 cube_edges = [ # 背面(z=0) dict(type='line', x0=0, y0=0, z0=0, x1=1, y1=0, z1=0, line=dict(color='black', width=2)), dict(type='line', x0=1, y0=0, z0=0, x1=1, y1=1, z1=0, line=dict(color='black', width=2)), dict(type='line', x0=1, y0=1, z0=0, x1=0, y1=1, z1=0, line=dict(color='black', width=2)), dict(type='line', x0=0, y0=1, z0=0, x1=0, y1=0, z1=0, line=dict(color='black', width=2)), # 正面(z=1) dict(type='line', x0=0, y0=0, z0=1, x1=1, y1=0, z1=1, line=dict(color='black', width=2)), dict(type='line', x0=1, y0=0, z0=1, x1=1, y1=1, z1=1, line=dict(color='black', width=2)), dict(type='line', x0=1, y0=1, z0=1, x1=0, y1=1, z1=1, line=dict(color='black', width=2)), dict(type='line', x0=0, y0=1, z0=1, x1=0, y1=0, z1=1, line=dict(color='black', width=2)), # 垂直棱边(连接正反面) dict(type='line', x0=0, y0=0, z0=0, x1=0, y1=0, z1=1, line=dict(color='black', width=2)), dict(type='line', x0=1, y0=0, z0=0, x1=1, y1=0, z1=1, line=dict(color='black', width=2)), dict(type='line', x0=1, y0=1, z0=0, x1=1, y1=1, z1=1, line=dict(color='black', width=2)), dict(type='line', x0=0, y0=1, z0=0, x1=0, y1=1, z1=1, line=dict(color='black', width=2)), ] fig.update_layout(scene=dict( xaxis=config, yaxis=config, zaxis=config, xaxis_title_text='x', yaxis_title_text='y', zaxis_title_text='z', shapes=cube_edges), # 添加棱边形状 width=900 ) fig.show()
说明
- 通过
scene.shapes参数添加了立方体的全部12条棱边,每条棱边都是独立的3D线条,颜色和宽度与坐标轴线条保持一致。 - 保留原有的
mirror='allticks'参数不影响新增的棱边显示,两者可以共存。
内容的提问来源于stack exchange,提问作者BONNED
相关产品推荐
相关产品推荐

