本文介绍了隐藏等值线属性EdgePrims对于某些边不可访问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试更改MatLab等高线图中某些线的LineJoin
。当我修改EdgePrims
时,只有";部分行";受影响:
num_incs = 3;
x = linspace(-1,1,num_incs);
[Xa,Ya] = meshgrid(x,x);
Z = abs(Xa) + abs(Ya);
[C,hContour] = contour(Xa,Ya,Z,20,'LineWidth',4);
drawnow;
set(hContour.EdgePrims, 'LineStyle', 'dotted')
set(hContour.EdgePrims, 'LineJoin', 'miter')
drawnow;
也就是说,我只在外边缘设置LineStyle
和LineJoin
。如何也访问中间线条的线条属性?推荐答案
轮廓对象(matlab.graphics.chart.primitive.Contour
)有一个新的隐藏属性:EdgeLoopPrims
。它包含形成闭合循环的所有边的控制柄。EdgePrims
现在仅包含不形成闭合循环的线条的句柄。
set(hContour.EdgePrims, 'LineStyle', 'dotted')
set(hContour.EdgeLoopPrims, 'LineStyle', 'dotted')
对于未记录的属性,这一点在某个点上必然会发生变化。使用此选项将限制您的代码仅用于特定版本的matlab。我用R2021a进行了测试。要查看隐藏属性,只需将图形句柄转换为结构:struct(hContour)
。
这篇关于隐藏等值线属性EdgePrims对于某些边不可访问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!