如何在matlab中绘制一个圆圈,在X轴和Y轴上有不同的范围

时间:2018-03-10 12:11:03

标签: image matlab distance geometry

我想在matlab中画一个圆圈。 但是,我的数据X和Y具有不同的范围轴。 我怀疑我的X和Y值有不同的范围。 有人可以建议我如何改进代码吗?

%% Data set
    fData = [   3.6     79
            1.8     54
            3.333   74
            2.283   62
            4.533   85
            2.883   55
            4.7     88
            3.6     85
            1.95    51
            4.35    85
            1.833   54
            3.917   84
            4.2     78
            1.75    47
            4.7     83
            2.167   52
            1.75    62
            4.8     84
            1.6     52
            4.25    79
            1.8     51
            1.75    47
            3.45    78
            3.067   69
            4.533   74
            3.6     83
            1.967   55
            4.083   76
            3.85    78
            4.433   79
            4.3     73
            4.467   77
            3.367   66
            4.033   80
            3.833   74
            2.017   52
            1.867   48
            4.833   80
            1.833   59
            4.783   90  ]

[n,dim]=size(fData);
rng(1);
idx = randsample(n,2)
X = fData(~ismember(1:n,idx),:); % Training data
Y = fData(idx,:) 

for j = 1:length(Y)
     c = Y(j,:);
     pos = [c-r 2*r 2*r];
     rectangle('Position',pos,'Curvature',[1 1])
     %axis equal
end

如何让image中的两个圆圈成为一个完美的圆圈? 谢谢

1 个答案:

答案 0 :(得分:1)

您需要做的是为数据设置所需的宽高比,用

代替代码中的%axis equal
daspect([1 1 1])

应该完成这项工作,正如您在使用您的代码获得的示例中所看到的那样:

example with your code