我正在尝试学习图形对象在MATLAB中的工作原理。我尝试在不使用绘图功能的情况下创建绘图,但我很困惑为什么它不起作用。
AFIK,当我使用绘图功能时,它会创建图形,轴,线对象,然后相应地设置每个对象的属性。我试图这样做,但我得到的只是一个白色/空白的数字。
我正在尝试绘制正弦波,因此我的X和Y数据是:
x = 0:0.1:2*pi;
y = sin(x);
这是我的主要代码:
figH = figure();
axis([-2, 2, -2, 2]);
lineH = findobj(figH, 'type', 'line');
set(lineH, 'XData', x,...
'YData', y,...
'Color', 'r');
奇怪的是,当我输入
时get(lineH)
我什么都没回来。我很感激提示和评论。
答案 0 :(得分:2)
您需要创建line
才能找到它并更改属性。
e.g。
hLine = line ( x, y, .... );
% Then you can modify the properties, i.e.
set ( hLine, 'XData', x );
% etc...
修改强>
直接创建和存储每个对象是个好主意(而不是让命令找到合适的图形,轴等......)
hFig = figure;
hAx = axes ( 'parent', hFig );
hLine = line ( hAx, x, y, .... );