在matlab中将散点图绘制为覆盖x和y误差的不同大小的点而不是误差条

时间:2016-02-03 09:50:33

标签: matlab

在matlab中,我想用x和y错误绘制散点图数据,我可以使用errorbarxy函数来做这个。

但是,我想知道,如果我可以使用x和y的上限和下限来将散点图绘制为覆盖错误区域的不同大小的半透明点'错误栏通常会覆盖哪里?

即。我怎样才能实现scatter(x,y,a,c) a哪个区域是由每个方向的上限和下限定义的区域?

我的正常errorbarxy代码是:

X = 10 * rand(7,1);
Y = 10 * rand(7,1);
ux = rand(7,1);
uy = rand(7,1);
lx = rand(7,1);
ly = rand(7,1);
errorbarxy(X,Y,ux,uy,lx,ly,'Color','k','LineStyle','none','Marker','o','MarkerFaceColor','w','MarkerSize',11);
set(gca,'YScale','log');
set(gca,'XScale','log');

请注意日志缩放。

感谢您的任何想法!

1 个答案:

答案 0 :(得分:0)

要实现散点的大小缩放,通常会减去最小值以将数据移到0,然后除以最大值以归一化到区间[0,1]。在这种情况下,我建议增加一些间隔,比如[4,9]增加scatter中的可视化区域。所以对于一个方面:

X = rand(1e3,1)*8+14; %// some random data to make this example work
X = X-min(X);         %// shift to 0
X = X/max(X);         %// normalise to [0,1]
X = 5*X+4;            %// increase area for visualisation purposes