# StreamPlot, ListStreamPlot scaling issue [duplicate]

The following stream plot is empty and the x-axis exceeds $[-0.1,0.1]$ significantly.

StreamPlot[{y, -100000 x - y}, {x, -0.1, 0.1}, {y, -100, 100}]


Using ListStreamPlot as suggested by Lou did not work either, i.e. I couldn't find any parameters that yield a sensible visualization of the vector field. Note that the problem does not occur for

StreamPlot[{y, -x - y}, {x, -1, 1}, {y, -1, 1}]


How can this scaling issue be addressed in order to obtain a sensible visualization of the vector field?

• StreamPlot has trouble dealing with domains that have very large or very small aspect ratios. See this previous question.
– user484
Commented Oct 14, 2015 at 20:58
• Your myStreamPlot function works. Thank you. If you want to refer to it in an answer, I will accept it. Commented Oct 14, 2015 at 21:21
• MarkusMüller: If answer by @Rahul to the other question answers your own, then the standard thing to do is to mark this question as a duplicate of the other (via "close"). Commented Oct 15, 2015 at 0:17

Let's have a look at StreamPlot

Means we can have a table of values

data = Table[{y, -100000 x - y}, {x, -0.1, 0.1, 0.05}, {y, -0.1, 0.1, 0.05}]


{{{-0.1,10000.1},{-0.05,10000.1},{0.,10000.},{0.05,9999.95},{0.1,9999.9}},{{-0.1,5000.1},{-0.05,5000.05},{0.,5000.},{0.05,4999.95},{0.1,4999.9}},{{-0.1,0.1},{-0.05,0.05},{0.,0.},{0.05,-0.05},{0.1,-0.1}},{{-0.1,-4999.9},{-0.05,-4999.95},{0.,-5000.},{0.05,-5000.05},{0.1,-5000.1}},{{-0.1,-9999.9},{-0.05,-9999.95},{0.,-10000.},{0.05,-10000.1},{0.1,-10000.1}}}

and we can plot them

ListStreamPlot[data]


With that knowledge you can play with your values

ListStreamPlot[
Table[{y, -100000 x - y}, {x, -0.1, 0.1, 0.01}, {y, -0.1, 0.1, 0.01}],
DataRange -> {{-0.1, 0.1}, {-1, 1}}]


• For xy-axes with $-0.1<x<0.1$, $-100<y<100$ the vector field should look like a spiral. Is there a way to obtain this visualization? I tried your suggestion but couldn't find any parameters that yield a nice visualization. Commented Oct 14, 2015 at 20:51

It seems that the average separation of your vertical streams is around 50 (in units of x). Simply expand the x range to e.g. -500 to 500

StreamPlot[{y, -100000 x - y}, {x, -500, 500}, {y, -1000, 1000}]

• Is there a way to display a sensible stream plot in the intervals given in my post? Commented Oct 13, 2015 at 15:29