隐藏轮廓 属性 某些边缘无法访问 EdgePrims
Hidden contour property EdgePrims inaccessible for some edges
我正在尝试更改 LineJoin
MATLAB 等高线图中的某些线。当我修改 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)
。
我正在尝试更改 LineJoin
MATLAB 等高线图中的某些线。当我修改 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)
。