poster
2019-12-10, 20:30
MATLAB中的函数plot和line之间有什么区别?他们在做同一件事吗?
回答:
函数plot (https://www.mathworks.com/help/matlab/ref/plot.html)和line (https://www.mathworks.com/help/matlab/ref/line.html)几乎做同样的事情,但是plot是一个高级函数,可能与其他图形对象有更多的交互。可以在此处 (https://www.mathworks.com/help/matlab/creating_plots/role-of-graphics-objects.html#bucf5dn-3)找到高级功能和低级功能的简要概述。诸如plot类的高级功能可能会在内部调用诸如line类的原始函数来创建其图形,但是它们也可以修改其父轴 (https://www.mathworks.com/help/matlab/ref/axes.html)或图形的 (https://www.mathworks.com/help/matlab/ref/figure.html)属性或与之交互。从第line (https://www.mathworks.com/help/matlab/ref/line.html#bu748g2-5)的文档中:
与plot函数不同, line函数不会在绘制之前调用newplot ,并且不考虑图形或轴的NextPlot属性值。它只是将线添加到当前轴,而无需删除其他图形对象或重置轴属性。但是,某些轴属性(例如轴限制)可以更新以适应该线。
例如,如果调用line函数:
line('XData', x, 'YData', y, 'ZData', z, 'Color', 'r'); MATLAB使用指定的数据值在当前轴上绘制一条红线。如果没有轴,MATLAB将创建一个。如果没有在其中创建轴的图形窗口,MATLAB也会创建它。
如果第二次调用line函数,MATLAB会在当前轴上绘制第二条线,而不会擦除第一条线。此行为不同于删除绘图对象并重置所有轴属性(除了Position (https://www.mathworks.com/help/matlab/ref/axes-properties.html#property_d0e56306)和Units (https://www.mathworks.com/help/matlab/ref/axes-properties.html#property_d0e56630) )的plot等高级功能。您可以使用hold (https://www.mathworks.com/help/matlab/ref/hold.html)命令或通过更改轴NextPlot (https://www.mathworks.com/help/matlab/ref/axes-properties.html#property_d0e55849)属性的设置来更改高级功能的行为。
在plot和line功能也有所不同影响自动线着色,作为显示在这里 (https://stackoverflow.com/q/45692196/52738) 。
更多&回答... (https://stackoverflow.com/questions/2447127)
回答:
函数plot (https://www.mathworks.com/help/matlab/ref/plot.html)和line (https://www.mathworks.com/help/matlab/ref/line.html)几乎做同样的事情,但是plot是一个高级函数,可能与其他图形对象有更多的交互。可以在此处 (https://www.mathworks.com/help/matlab/creating_plots/role-of-graphics-objects.html#bucf5dn-3)找到高级功能和低级功能的简要概述。诸如plot类的高级功能可能会在内部调用诸如line类的原始函数来创建其图形,但是它们也可以修改其父轴 (https://www.mathworks.com/help/matlab/ref/axes.html)或图形的 (https://www.mathworks.com/help/matlab/ref/figure.html)属性或与之交互。从第line (https://www.mathworks.com/help/matlab/ref/line.html#bu748g2-5)的文档中:
与plot函数不同, line函数不会在绘制之前调用newplot ,并且不考虑图形或轴的NextPlot属性值。它只是将线添加到当前轴,而无需删除其他图形对象或重置轴属性。但是,某些轴属性(例如轴限制)可以更新以适应该线。
例如,如果调用line函数:
line('XData', x, 'YData', y, 'ZData', z, 'Color', 'r'); MATLAB使用指定的数据值在当前轴上绘制一条红线。如果没有轴,MATLAB将创建一个。如果没有在其中创建轴的图形窗口,MATLAB也会创建它。
如果第二次调用line函数,MATLAB会在当前轴上绘制第二条线,而不会擦除第一条线。此行为不同于删除绘图对象并重置所有轴属性(除了Position (https://www.mathworks.com/help/matlab/ref/axes-properties.html#property_d0e56306)和Units (https://www.mathworks.com/help/matlab/ref/axes-properties.html#property_d0e56630) )的plot等高级功能。您可以使用hold (https://www.mathworks.com/help/matlab/ref/hold.html)命令或通过更改轴NextPlot (https://www.mathworks.com/help/matlab/ref/axes-properties.html#property_d0e55849)属性的设置来更改高级功能的行为。
在plot和line功能也有所不同影响自动线着色,作为显示在这里 (https://stackoverflow.com/q/45692196/52738) 。
更多&回答... (https://stackoverflow.com/questions/2447127)