在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 (颜色),但如何指定这样的标记类型(和颜色)?
c
谢谢!
您可以做的一件事是按标记类型分离数据,然后调用散布两次:每种标记类型一次 . 例如:
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允许您像颜色一样指定标记类型的向量,那将是很好的 .
1 回答
您可以做的一件事是按标记类型分离数据,然后调用散布两次:每种标记类型一次 . 例如:
这是我能想到的最优雅的解决方案 . 如果MATLAB允许您像颜色一样指定标记类型的向量,那将是很好的 .