For artistic reasons, I want to draw an extremely dense StreamPlot
with something like a thousand streamlines. I tried setting StreamPoints -> {Automatic, d}
where $d$ is a small value specifying the minimum distance between streamlines, but after a point reducing the value of $d$ stops having an effect.
GraphicsColumn[
StreamPlot[{-1 - x^2 + y, 1 + x - y^2}, {x, -3, 3}, {y, -3, 3},
StreamPoints -> {Automatic, #}, ImageSize -> Medium] & /@ {1, 0.3,
0.1, 0.03, 0.01}]
The same thing happens when setting StreamPoints -> n
for increasing values of $n$, or when manually seeding hundreds of seed points; Mathematica silently refuses to plot any more streamlines.
How can I get around this? Is it possible to plot arbitrarily closely spaced streamlines using StreamPlot
?
Update: To clarify, I want to keep the style of the fully-automatic default StreamPlot
, which attempts to maintain a uniform spacing between streamlines, and just make it denser. So I don't want to get rid of the minimum distance entirely; I just want to lower it. To save everyone some time, here is what I find unsatisfactory about all the documented settings for StreamPoints
.
None
: Obviously no good.- $n$: Stops having an effect somewhere between 50 and 100.
Automatic
,Coarse
, andFine
: Not dense enough.{p1, p2, ...}
and{{p1, g1}, ...}
: Seen
.{spec, d}
:d
stops having an effect somewhere between 0.2 and 0.1.{spec, {dStart, dEnd}}
: Strangely, increasingdEnd
plots more streamlines. Compare{Automatic, {0.5, 10}}
with{Automatic, 0.5}
and{Automatic, {0.5, 0.5}}
. I don't understand this setting at all.{spec, d, len}
: Whenspec
isAutomatic
,len
has no effect as far as I can tell. On the other hand, whenspec
is{p1, p2, ...}
,len
causesd
to be ignored completely.
Comments
Post a Comment