使用设置为情节在一个for循环,难以与设置多个情节(设置标题,次要情节等等)。
22日视图(30天)
显示旧的评论
大家好!
这个是阴谋的使用“生活”传感器收集的数据。我做了一个测试脚本可以测试动画线条和情节本身,我只是改变设置的值而不是使用阴谋。
第一步非常简单,即使我做错了,不管怎样,想走捷径
clc;clearvars;关闭所有;
输入= 2;
dispdata = 10;
无花果{1}=图();
标题(“爸爸”)
无花果{2}=图();
%标题(“°F”)
%无花果{3}=图();
%标题(“SLpm”)
plotaxes{1} =轴(“父”、无花果{1});
plotaxes{2} =轴(“父”、无花果{2});
% plotaxes{3} =轴(“父”,图{3});
lineplot{1} =情节(plotaxes {1}, 0, 0);
lineplot{2} =情节(plotaxes {2}, 0, 0);
% lineplot{3} =情节(plotaxes {3}, 0, 0);
点= 10;
n = 0;
data = 0(输入);
ddata = 0(据点,输入);
为k = 1:点
为2 = 1:输入
rr =兰迪(10);
数据(1、2)= rr价格;
结束
ddata (k) =数据;
如果k > = dispdata
x = k-dispdata + 1: k;
为i = 1:输入
集(lineplot {},“XData”,x,“YData”ddata (k-dispdata + 1: k i))
xlim ([k-dispdata k))
结束
其他的
x = 1: dispdata-k;
为i = 1:输入
集(lineplot {},“XData”,x,“YData”ddata (1: dispdata-k, i))
xlim ([0, dispdata-k]);
结束
结束
结束
所以我开始3块,创建为每个图然后轴。然后我想给他们的头衔,这已经我不能让我的头。当我添加标题的时候,我得到一个2 x和y轴,我不知道为什么,或如何正确地做它。
它看起来像这样。
之后,我试图得到另一个输入现有的图和我总是错误。我要么覆盖现有的数据,或者得到一个错误。比如我想3温度数据在一个图。然后我想到了在数据作为次要情节。这个我看到了,看起来很容易,但是现在没有试过自己。
别的东西,突然闪过我的脑海是设置颜色和其他属性,在我被情节第一个数据点,并与完美。
0评论
答案(2)
Prannoy
大约8小时前
关于策划多个数据流在同一图中,您可以创建多个对象,一个用于每个数据流,在同一坐标轴。当你设置x和y每一行的数据,它们将出现在相同的情节。这里是如何做到这一点的一个例子:
输入= 3;%增加数量的输入3
…
lineplot{1} =情节(plotaxes {1}, 0, 0,“r”);%为输入1创建一个红线
lineplot{2} =情节(plotaxes {1}, 0, 0,‘g’);%为输入2创建一个绿线
lineplot{3} =情节(plotaxes {1}, 0, 0,“b”);%为输入创建一个蓝线3
…
为i = 1:输入
集(lineplot {},“XData”,x,“YData”ddata (k-dispdata + 1: k i));
xlim ([k-dispdata k]);
结束
…
这里,我们创建3个不同线对象,对于每一个输入,并将每一行的颜色设置为红色,绿色和蓝色分别使用
图()
函数。然后在循环更新的阴谋,我们设置了x和y使用每一行的数据
设置()
和正确的索引。为每个单独的线的颜色可以使用不同的情节说明符修改参数。
你还应该能够设置属性,如线宽、线的风格,使用相同的标记类型,等等
设置()
函数与相应的属性名和值。
格拉。
约2小时前
编辑:格拉。
17分钟前
你好安德烈,
我知道你想知道为什么第三个轴是添加当您添加标题。
当你调用标题函数的一个轴,这是增加轴的第二组,因为标题的默认行为是创建一个新的套轴和设置标题。为了避免这种行为,您需要将axis处理作为第一个参数传递给标题。
请参考以下代码片段
clc;
clearvars;
关闭所有;
输入= 2;
dispdata = 10;
无花果{1}=图();
无花果{2}=图();
无花果{3}=图();
plotaxes{1} =轴(“父”、无花果{1});
plotaxes{2} =轴(“父”、无花果{2});
plotaxes{3} =轴(“父”、无花果{3});
lineplot{1} =情节(plotaxes {1}, 0, 0);
lineplot{2} =情节(plotaxes {2}, 0, 0);
lineplot{3} =情节(plotaxes {3}, 0, 0);
t{1} =注释(图{1},“文本框”(0.1 - 0.9 0.8 - 0.1),“字符串”,“爸爸”,“FitBoxToText”,“上”,“线型”,“没有”);
t{2} =注释(图{2},“文本框”(0.1 - 0.9 0.8 - 0.1),“字符串”,°F的,“FitBoxToText”,“上”,“线型”,“没有”);
t{3} =注释(图{3},“文本框”(0.1 - 0.9 0.8 - 0.1),“字符串”,“SLpm”,“FitBoxToText”,“上”,“线型”,“没有”);
点= 10;
n = 0;
data = 0(输入);
ddata = 0(据点,输入);
为k = 1:点
为2 = 1:输入
rr =兰迪(10);
数据(1、2)= rr价格;
结束
ddata (k) =数据;
如果k > = dispdata
x = k-dispdata + 1: k;
为i = 1:输入
集(lineplot {},“XData”,x,“YData”ddata (k-dispdata + 1: k i))
xlim ([k-dispdata k))
结束
其他的
x = 1: dispdata-k;
为i = 1:输入
集(lineplot {},“XData”,x,“YData”ddata (1: dispdata-k, i))
xlim ([0, dispdata-k]);
结束
结束
结束
我希望这能帮助你解决查询。
2的评论
格拉。
约7小时前
是的,你可以使用
设置()
函数在MATLAB结合两个情节
x = 0:0.1:10;
日元= sin (x);
y2 = cos (x);
%创建两个地块
情节(x, y₁,“r”,“线宽”2);%的情节用红色
持有在;
情节(x, y2,“b”,“线宽”2);%的蓝色
%添加传奇
传奇(“sin (x)”,“cos (x)”);
使用集合函数%定制情节出现
集(ax,“XGrid”,“上”,“YGrid”,“上”,“GridAlpha”,0.5);