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