В чем разница между функциями plot
и line
в MATLAB? Они делают то же самое?
Как различаются графики и линии MATLAB?
Ответ 1
Функции plot
и line
делать почти то же самое, но plot
- это функция высокого уровня, которая может иметь большее взаимодействие с другими графическими объектами. Краткое описание функций высокого уровня и низкого уровня можно найти здесь здесь. Высокоуровневые функции, такие как plot
, вероятно, внутренне вызывают примитивные функции, такие как line
, чтобы создать свою графику, но они также могут изменять или взаимодействовать со свойствами своих родительских axes или figure. Из документации для line
:
В отличие от функции
plot
функцияline
не вызываетnewplot
перед построением и не учитывает значение свойстваNextPlot
для фигуры или осей. Он просто добавляет строку к текущим осям, не удаляя другие графические объекты или не восстанавливая свойства осей. Однако некоторые свойства осей, такие как пределы оси, могут обновляться для размещения линии.
Например, если вы вызываете функцию line
:
line('XData', x, 'YData', y, 'ZData', z, 'Color', 'r');
MATLAB рисует красную линию в текущих осях, используя указанные значения данных. Если нет осей, MATLAB создает один. Если нет окна с рисунком для создания осей, MATLAB также создает его.
Если вы снова вызываете функцию line
, MATLAB рисует вторую строку в текущих осях без стирания первой строки. Такое поведение отличается от высокоуровневых функций, таких как plot
, которые удаляют графические объекты и reset все свойства осей (кроме Position
и Units
). Вы можете изменить поведение высокоуровневых функций, используя команду hold
или изменив настройку осей NextPlot
.
Функции plot
и line
также по-разному влияют на автоматическую окраску строк, как показано здесь.
Ответ 2
plot()
используется для создания графического объекта, как правило, линейного графика. line()
создает объект lin, который может отображаться, скажем, на графике. Нет, они не делают то же самое. Я обычно использовал plot
для создания графика, line
для добавления строк к существующему графику.
Если это не отвечает на ваш вопрос, ознакомьтесь с документацией, которая подробно освещает эти вопросы.