求推荐可生成平面固定标注、轴后置的3D科学绘图工具
满足需求的低成本3D绘图工具/包推荐
1. Plotly(Python)
- 核心特性:原生支持将标注绑定到
xy/xz/yz指定平面,通过设置标注的xref/yref/zref参数为对应平面,旋转视图时标注会始终贴合所在平面,不会出现偏移脱离的问题。 - 坐标轴后置:可通过
layout.scene.xaxis.layer='below'(同理y、z轴)将坐标轴置于所有绘图元素后方,符合科学绘图规范;还能关闭轴背景进一步优化视觉效果。 - 实现成本:完全免费开源,基于Python生态,代码示例简洁易上手:
import plotly.graph_objects as go fig = go.Figure() # 添加XY平面数据点及随点标注 fig.add_trace(go.Scatter3d(x=[1, 2], y=[3, 4], z=[0, 0], mode='markers+text', text='数据点标注', textposition='top center')) # 添加固定绑定到XY平面的独立标注 fig.add_annotation(x=1.5, y=3.5, z=0, text='固定XY平面标注', xref='xy', yref='xy', zref='xy') # 设置坐标轴后置 fig.update_layout(scene=dict( xaxis=dict(layer='below'), yaxis=dict(layer='below'), zaxis=dict(layer='below') )) fig.show()
2. MATLAB
- 核心特性:通过
annotation函数结合平面定位参数,可将标注固定在xy/xz/yz平面上,旋转3D视图时标注会保持与平面的相对位置不变。 - 坐标轴后置:使用
set(gca,'Layer','bottom')直接将坐标轴置于绘图元素底层,操作简单直接。 - 实现成本:个人版有低价授权方案,学术场景通常可免费使用,代码示例:
figure; plot3([1, 2], [3, 4], [0, 0], 'o', 'MarkerSize', 8); % 添加固定到XY平面的文本标注 annotation('textbox', [0.3, 0.5, 0.1, 0.05], 'String', 'XY平面固定标注', 'FitBoxToText', 'on', 'BackgroundColor', 'white'); % 设置坐标轴后置 set(gca, 'Layer', 'bottom'); view(3);
3. Mayavi(Python)
- 核心特性:基于VTK框架,支持通过
text3d的plane_orientation参数(可选'xy'/'xz'/'yz')将标注绑定到指定平面,旋转视图时标注始终贴合平面。 - 坐标轴后置:调整坐标轴的
zorder属性为0,即可将其置于所有绘图元素后方。 - 实现成本:完全免费开源,专注科学可视化,代码示例:
from mayavi import mlab mlab.figure(size=(800, 600)) # 绘制XY平面数据 mlab.plot3d([1, 2], [3, 4], [0, 0], color=(1, 0, 0), line_width=2) # 添加固定到XY平面的标注 mlab.text3d(1.5, 3.5, 0, 'XY平面标注', plane_orientation='xy', scale=0.2) # 设置坐标轴后置 axes = mlab.axes() axes.actor.property.zorder = 0 mlab.show()
内容的提问来源于stack exchange,提问作者user2224350




