gpt4 book ai didi

matlab - 如何将 'MarkerSize' 关联到表示绘制圆的半径的值?

转载 作者:行者123 更新时间:2023-12-05 05:25:27 25 4
gpt4 key购买 nike

我有三个相同长度的向量。其中两个包含我要绘制的内容的 XY 坐标。第三个包含我想关联绘制圆的半径的值。

我读到plot中的'MarkerSize'对应圆周上的点数,如果我想使用scatter,第三个向量对应于绘制圆的面积。

尽管如此,我希望我的第三个向量与半径相关联

那么,如何将圆的大小与半径联系起来呢?

我使用 plot 得到了这个:

hold on;
for nd = 1 : 24
plot(xL(nd), -yL(nd), 'o', 'MarkerFaceColor', 'g', 'MarkerEdgeColor', 'k', 'MarkerSize', attribute(nd))
end

这使用 scatter:

hold on;
for nd = 1 : 24
scatter(xL(nd), -yL(nd), attribute(nd), 'o', 'MarkerFaceColor', 'k', 'MarkerEdgeColor', 'k')
end

在此先感谢您的帮助。

最佳答案

假设您要使用 MarkerSize 作为 plot 的属性,如您所说,此数字报告绘制标记的周长(以像素为单位)。

嗯,你知道圆的周长和它的半径之间有一个关系:

来源:Math Is Fun

因此,圆的周长等于pi乘以直径,也就是半径的两倍……所以:

C = 2*pi*r

C 将是 MarkerSize 属性。因此,给定一个半径,只需乘以 2*pi 即可得到所需的周长。请记住,上述计算将产生浮点值,因此要么采用 floor,要么采用 ceilround 以获得所需的效果.

换句话说,假设您要报告半径,对您的属性向量执行此操作:

attribute = floor(2*pi*attribute);

现在将其与 MarkerSizeplot 一起使用。


另一方面,如果您想使用散点图...您知道圆的面积与其半径之间存在关系:


(来源:whstatic.com)

来源:WikiHow

因此,给定半径,只需将半径平方并乘以pi 即可得到面积,然后将其用作第三个参数来散点...再次,考虑浮点精度:

attribute = floor(pi*attribute.^2);

您现在可以将其与 scatter 一起使用。

关于matlab - 如何将 'MarkerSize' 关联到表示绘制圆的半径的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30944157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com