隐藏等值线属性EdgePrims对于某些边不可访问 [英] Hidden contour property EdgePrims inaccessible for some edges

查看:14
本文介绍了隐藏等值线属性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;

生成以下内容:

也就是说,我只在外边缘设置LineStyleLineJoin。如何也访问中间线条的线条属性?

推荐答案

轮廓对象(matlab.graphics.chart.primitive.Contour)有一个新的隐藏属性:EdgeLoopPrims。它包含形成闭合循环的所有边的控制柄。EdgePrims现在仅包含不形成闭合循环的线条的句柄。

set(hContour.EdgePrims, 'LineStyle', 'dotted')
set(hContour.EdgeLoopPrims, 'LineStyle', 'dotted')
对于未记录的属性,这一点在某个点上必然会发生变化。使用此选项将限制您的代码仅用于特定版本的matlab。我用R2021a进行了测试。


要查看隐藏属性,只需将图形句柄转换为结构:struct(hContour)

这篇关于隐藏等值线属性EdgePrims对于某些边不可访问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆