用matlab画图颜色变化的问题

我现在有一组数值y,想在用画图函数把它曲线画出来的时候,曲线颜色可以根据它值的大小变化,比如y(i)=1时它的Color是[010],y(j)=2时它的Color是[10... 我现在有一组数值y,想在用画图函数把它曲线画出来的时候,曲线颜色可以根据它值的大小变化,比如y(i)=1时它的Color是[0 1 0],y(j)=2时它的Color是[1 0 0]。附上我自己用plot画的程序,它只能一个点一个点画,而我是想画整个的曲线。
x=[1 2 3];y=[3 4 5];col=[];
for i=1:length(y)
if y(i)<=3
col=[col;[0 1 0]];
elseif y(i)<=4
col=[col;[0 0 1]];
else
col=[col;[1 0 0]];
end
end
for i=1:length(y)
h=plot(x(i),y(i),'.');
set(h,{'Color'},{col(:,i)})
end
展开
 我来答
百度网友da26f67
2011-04-07 · 超过23用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:43.3万
展开全部
x=[1 2 3];y=[3 4 5];col=[];
for i=1:length(y)
if y(i)<=3
col=[col;[0 1 0]];
h1=plot(x(:,1:i),y(:,1:i));
set(h1,{'Color'},{col});
a1 = i;
hold on
elseif y(i)<=4
col=[[0 0 1]];
h2=plot(x(:,a1:i),y(:,a1:i));
set(h2,{'Color'},{col});
a2 = i;
hold on
else
col=[[1 0 0]];
h3=plot(x(:,a2:i),y(:,a2:i));
set(h3,{'Color'},{col})
end
end
希望能够帮助到你
追问
您给提供的方法也是,点多了就不对了,同样点的颜色也有错的,继续泪奔。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
甜满美
2011-04-07 · TA获得超过113个赞
知道答主
回答量:239
采纳率:0%
帮助的人:84万
展开全部
在每个col=[col ];后面加上hold on;
x=[1 2 3];y=[3 4 5];col=[];
for i=1:length(y)
if y(i)<=3
col=[col;[0 1 0]];
hold on;
elseif y(i)<=4
col=[col;[0 0 1]];
hold on;
else
col=[col;[1 0 0]];
hold on;
end
end
for i=1:length(y)
h=plot(x(i),y(i),'.');
set(h,{'Color'},{col(:,i)})
end
追问
点多了就不对了,比如x=[1 2 3 4 5];y=[ 2 3 6 2 1];而且点的颜色也不对,泪奔
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式