Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-14, 20:46   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 散布不同颜色

如果我有

matrix= 0.0494 2.3691 -0.0973 0.8026 -0.3040 -0.0861 -0.0626 2.5688 -0.4144 0.7054 0.0633 -0.0991 -0.8386 -1.2229 1.8929 2.6260 1.7687 2.3963 1.8243 -0.5543 1.9272 -0.3946 -0.0682 1.7404 -0.1180 2.2323 0.4071 -0.1878 0.6406 2.5602 -0.2144 2.0014 0.1091 -0.1874 -0.1102 0.2922 您如何以一种颜色绘制一列,而以另一种颜色绘制另一列,或者以一种颜色绘制其中的一些列

scatter(matrix(:,1),matrix(:,2), 'b','+');

回答:

scatter不会单独绘制每列。这是第column 1 column 2与第column 2 。因此,散点图上的每个点都由两列组成。换句话说, scatter(x,y)和plot(x,y,'o')之间没有区别。但是, scatter还有其他功能,这就是为什么scatter可以用作其他功能的原因。如果您只是想用两种颜色分别绘制每列,则可以简单地执行plot(matrix,'o')而MATLAB应该自动为第一列分配蓝色,为第二列分配绿色。

scatter也将色图作为参数。因此,如果您打算绘制一种颜色的数据(两列)的一半,而另一种颜色,则可以尝试这样做

nRows=size(matrix,1); red=repmat([1,0,0],fix(nRows/2),1);%# use fix so that you don't get an error if nRows is not even. green=repmat([0,1,0],nRows-fix(nRows/2),1); scatter(matrix(:,1),matrix(:,2),[],[red;green]);

更多&回答...
poster 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 03:24


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.