How to change the color of only some arrows using quiver?
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Marcos Ortensi
el 29 de Jul. de 2021
Comentada: Bjorn Gustavsson
el 29 de Jul. de 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 comentarios
Respuesta aceptada
Bjorn Gustavsson
el 29 de Jul. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Vector Fields en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!