Plots.jl icon indicating copy to clipboard operation
Plots.jl copied to clipboard

[FR] Allow plotting function data in quiver()

Open calumapplepie opened this issue 1 year ago • 1 comments

The easiest mathematical way to define a 2D vector field is as a function with two arguments that outputs a 2 item vector

julia> vecField(x,y) = [x^2, y+1x]

Unfortunately, quiver can't plot this

julia> quiver(vecField)  
ERROR: vecField is not a Function, or is not defined at any of the values [-5.0, -1.0, 0.0, 0.01]

It'd be pretty neat if we could add some recipie that evaluates a 2d function given to quiver at reasonable points, making plotting a vector field into a nice, neat one-liner, instead of the current solution which is somewhat more involved. Such a recipe would also probably want to apply scaling to arrows, perhaps by dividing all outputs by the norm of the largest output.

calumapplepie avatar Feb 19 '24 16:02 calumapplepie