我有四个向量,前三个是复数,第四个是它们的求和。
我成功地用箭笔画出了它们,但是,我需要把第四幅画成红色。我怎么才能把第四张染成红色呢?
% vectors I want to plot as rows (XSTART, YSTART) (XDIR, YDIR)
rays = [
0 0 real(X1) imag(X1) ;
0 0 real(X2) imag(X2) ;
0 0 real(X3) imag(X3) ;
0 0 real(SUM) imag(SUM) ;
] ;
% quiver plot
quiver(rays( :,1 ), rays( :,2 ), rays( :,3 ), rays( :,4 ));
% set interval
axis([-30 30 -30 30]);或者我应该使用plotv?https://www.mathworks.com/help/nnet/ref/plotv.html
发布于 2017-02-26 10:51:21
handle函数返回的quiver函数不允许访问每个单个元素以更改其属性,在本例中是颜色。
一个可能的工作,虽然不完全优雅,但可以是:
u、v、x和y数据。hold onquiveru、v、x和y数据。建议的办法的一个可能的执行可以是:
% Generate some data
rays = [
0 0 rand-0.5 rand-0.5 ;
0 0 rand-0.5 rand-0.5 ;
0 0 rand-0.5 rand-0.5 ;
] ;
rays(4,:)=sum(rays)
% Plot the quiver for the whole matrix (to be used to check the results
figure
h_orig=quiver(rays( :,1 ), rays( :,2 ), rays( :,3 ), rays( :,4 ));
grid minor
% Plot the quiver for the whole matrix
figure
% Plot the quiver for the whole set of data
h0=quiver(rays( :,1 ), rays( :,2 ), rays( :,3 ), rays( :,4 ));
% Get the u, v, x, y data
u=get(h0,'udata')
v=get(h0,'vdata')
x=get(h0,'xdata')
y=get(h0,'ydata')
% Delete the data of the last element
set(h0,'udata',u(1:end-1),'vdata',v(1:end-1),'xdata', ...
x(1:end-1),'ydata',y(1:end-1))
% Set hold on
hold on
% Plot again the quiver for the whole set of data
h0=quiver(rays( :,1 ), rays( :,2 ), rays( :,3 ), rays( :,4 ));
% Delete the u, v, x, y data of the element you do not want to change the
% colour
set(h0,'udata',u(end),'vdata',v(end),'xdata', ...
x(end),'ydata',y(end))
% Set the desired colour to the remaining object
h0.Color='r'
grid minor

希望这能帮上忙
卡普拉
https://stackoverflow.com/questions/42465800
复制相似问题