在Matlab中使用诸如trimesh
之类的函数时,会绘制许多'line'
个对象(即网格的边缘)。现在我需要更改所有这些属性。
如何获取属于特定绘图(即一组轴)的所有'line'
个对象的句柄列表? 'patch'
个对象也是如此。
答案 0 :(得分:2)
正如post中所述:
获取当前轴上的所有'line'
个对象:
lines = findobj(gca, 'type', 'line');
对于补丁,它类似。
显示当前轴下的对象类型也很有帮助。例如:
>> mesh(magic(5))
>> get(findobj(gca), 'type')
ans =
'axes'
'surface'
如果有许多行,例如在trimesh
之后,我们只想知道轴对象中有哪些不同类型的对象:
>> unique(get(findobj(gca), 'type'))
ans =
'axes'
'line'
比
更有用>> get(findobj(gca), 'type')
ans =
'axes'
'line'
'line'
'line'
'line'
'line'
...
以下是如何在所有这些设置属性的示例:
set(findobj(gca, 'type', 'surface'), 'FaceColor', 'interp')