2017-04-14 38 views
1

我想在同一图中显示两个不同的数据,我想用颜色显示每个数据的密度。我用下面的代码:对两个不同的数据集使用散点图不起作用

scatter(xm,ym,[],c/(max(c)),'filled','d') 
hold on 
scatter(x,y, [], dens,'filled','d') 

但它只显示数据(x,y)着色和数据xm和ym都是红色的。当我使用scatter(xm,ym,[],c /(max(c)),'filled','d')而不使用scatter(x,y,[],dens,'filled','d') ,它显示了xm和ym数据的颜色。但是当我使用两个散点图时,它们之间有一个保留,我提到的错误发生。我该如何解决这个问题?谁能帮忙?

+0

这是一个缩放问题,这两个数据集可能处于不同的尺度,导致第二个看起来不变。你想让你的输出看起来像什么? –

+0

是的,他们有不同的尺度。我希望第一个数据(在第一个分散中使用)作为背景字段显示,它在每个位置显示颜色的数量(例如,如果某个区域是红色,则意味着c是在该地区高),我也希望第二个数据与不同的颜色显示在与他们有关的位置。现在清楚吗? @StackPlayer –

回答

0

一个干净的选项是使用2个子图,但它不会给你整齐的重叠你正在寻找。

另一个技巧是将背景数据值缩放到0-1,将第二个数据值缩放到1-2。然后按照自己的方式绘制它们。 (这将区分颜色,并且由于范围均为1,因此将保持它们的可读性)。

+0

我该怎么做这些部分:将背景数据值缩放到0-1,第二个数据值为1-2 –

+0

http://stackoverflow.com/questions/5294955/how-to-scale-down -a-ranges-of-known-min-and-max-value –

+0

我使用了dens =(dens/max(dens)); 保持在 sa = c。/ max(c)+1; scatter(xm,ym,[],sa,'filled','d') scatter(x,y,[],dens,'filled','d')但问题没有解决 –

相关问题