首页 文章

在MATLAB中,我想基于数组指定散点标记的类型 .

提问于
浏览
1

在MATLAB中,我想基于数组指定散点标记的类型 .

例如:

x = [1 5 3 7 2];     % x data
y = [6 3 7 4 1];     % y data

c = [1 1 2 1 2];     % colors
s = [2 1 2 2 1];     % shapes

scatter(x,y,30,s,c)

但那是太多的争论 . 它适用于 c (颜色),但如何指定这样的标记类型(和颜色)?

谢谢!

1 回答

  • 3

    您可以做的一件事是按标记类型分离数据,然后调用散布两次:每种标记类型一次 . 例如:

    ssq = ( s == 2 )
    xsq = x( ssq );
    ysq = y( ssq );
    csq = c( ssq );
    scatter( xsq, ysq, 30, csq, 's');
    hold on;
    scirc = ( s == 1 )
    xcirc = x( scirc );
    ycirc = y( scirc );
    ccirc = c( scirc );
    scatter( xcirc, ycirc, 30, ccirc, 'o');
    hold off;
    

    这是我能想到的最优雅的解决方案 . 如果MATLAB允许您像颜色一样指定标记类型的向量,那将是很好的 .

相关问题