Matlab 有效地绘制不同个体大小的标记
该函数允许我们以恒定的大小绘制所有标记Matlab 有效地绘制不同个体大小的标记,matlab,plot,matlab-figure,Matlab,Plot,Matlab Figure,该函数允许我们以恒定的大小绘制所有标记s figure; x = -10 : 10; y = x .^ 2; s = 10; plot(x, y, 'bo', 'MarkerSize', s); 假设我们希望每个标记都有一些单独的大小sx。例如,sx=abs(x)+1 实现这一点的一种方法是使用for循环 figure; x = -10 : 10; y = x .^ 2; sx = abs(x) + 1; hold on; for i = 1 : length(x) plot(x(i
s
figure;
x = -10 : 10;
y = x .^ 2;
s = 10;
plot(x, y, 'bo', 'MarkerSize', s);
假设我们希望每个标记都有一些单独的大小sx
。例如,sx=abs(x)+1
实现这一点的一种方法是使用for循环
figure;
x = -10 : 10;
y = x .^ 2;
sx = abs(x) + 1;
hold on;
for i = 1 : length(x)
plot(x(i), y(i), 'bo', 'MarkerSize', sx(i));
end
这对于少量的x
来说已经足够好了。但是,如果x
更大怎么办?例如,x=-100:0.01:100
现在这需要更长的时间,而绘图(x,y,'bo','MarkerSize',100)
仍然几乎可以立即完成。理想情况下,我们可以做一些事情,比如绘图(x,y,'bo',MarkerSize',sx)
其中sx
是一个大小向量,其中sx
中的每个条目对应于x
和y
中的一个条目。不幸的是,这将导致值错误,而不是数值标量错误
是否有一种有效的方法来绘制每个标记具有不同大小的标记?您尝试使用而不是绘制标记,如下所示:
scatter(x,y,abs(x)+1)
您尝试执行的操作可以使用而不是绘图
,如下所示:
scatter(x,y,abs(x)+1)