How to change the color of only some arrows using quiver?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Marcos Ortensi
am 29 Jul. 2021
Kommentiert: Bjorn Gustavsson
am 29 Jul. 2021
Hi everyone,
I would like to know if it is possible to change the color of only some of the arrows using quiver.
I tried to selected the data that I want with different color and plot a second quiver plot. Something like that:
figure
q1 = quiver(x,y,u,v)
hold on
q2 = quive(x(color2),y(color2),u(color2),v(color2))
The problem is that the size of the arrow of both plots doesnt match, although u and v are the same. Here is an example. We can see that the blue arrows are bigger than the magenta ones.
I suppose that is a problem in the function, related to the scale of the arrows. When the data for both quivers are the same, the problem does not happen.
I have tried to zero or NaN the data of the second quiver, instead of select with a filter, but it didnt solve the problem.
I am wonder if anyone have already the same problem and could help me.
Thank you!
0 Kommentare
Akzeptierte Antwort
Bjorn Gustavsson
am 29 Jul. 2021
From the help of quiver:
quiver(U,V,S) or quiver(X,Y,U,V,S) automatically scales the
arrows to fit within the grid and then stretches them by S. Use
S=0 to plot the arrows without the automatic scaling.
So if you try to set S to something specified you might avoid the different scalings of your arrows. You might also try the different arrow-functions on the file-exchange which might give you more detailed controll over the arrows. See for example: arrow and arrow3 (they have a different set of the input arguments but that is manageable).
HTH
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Vector Fields finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!