To get the image, we first define the equation. But we introduce an If statement so that it returns a number only if x is between -2.5 and 2.5; this forces the numerical DE solver to shut off outside the viewing window. It will generate some warning messages when this happens, which we suppress with Off; this technique increases efficiency by avoiding computations ourside the viewing window.
In:=Next we create the shaded background by making a contour plot of the right-hand side of the equation. To get inside the If, we use equation[[2, 2]], and we replace x[t] by x to get an expression in x and t to send to ContourPlot. The ColorFunction will get normalized arguments between 0 and 1, and so the pure function "# 0.6 + 0.4" will take on values between 0.4 and 1, giving us nice soft shades of gray. The Identity setting suppresses the display.
In:=Now the single thick nullcline is generated in much the same way, with ContourShading turned off and with Contours set to the single value 0.
In:=Next we set up some initial values in the shape of a circle and feed them to NDSolve. Thus solutions as defined below will be a list of 21 interpolating functions.
In:=We now generate plots of these solutions, using a Hue setting that varies with the solution.
In:=Finally, we show the whole business in the right order, together with some points at the initial values. Of course, we must set the DisplayFunction to override all the suppressions of the preceding graphics work.
In:=Up to New Visualization Ideas for Differential Equations