没有'plot()'函数的绘图

时间:2015-05-11 06:58:09

标签: matlab plot

我正在尝试学习图形对象在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) 

我什么都没回来。我很感激提示和评论。

1 个答案:

答案 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, .... );