使用设置为情节在一个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温度数据在一个图。然后我想到了在数据作为次要情节。这个我看到了,看起来很容易,但是现在没有试过自己。
别的东西,突然闪过我的脑海是设置颜色和其他属性,在我被情节第一个数据点,并与完美。

答案(2)

Prannoy
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使用每一行的数据 设置() 和正确的索引。为每个单独的线的颜色可以使用不同的情节说明符修改参数。
你还应该能够设置属性,如线宽、线的风格,使用相同的标记类型,等等 设置() 函数与相应的属性名和值。
1评论
安德烈
安德烈 约7小时前
我有点震惊,当我看到答案,因为唯一的区别是,我不指定颜色,除此之外,我也试试。当我这样做时,集函数将抛出一个错误“无效或删除对象”,让我相信lineplot{1}是重写,不再有了。
是的,设置()很好地工作以改变属性。这还一点,让我自己问题,导致使用set()改变线宽,颜色和什么不完美的工作。但是别的没有。

登录置评。


格拉。
格拉。 约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);

登录置评。

下载188bet金宝搏


释放

R2023a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!