Population growth graphs: exponential J-curves, logistic S-curves and per capita rates
Population Growth graphs a population growing from its starting size N₀ at a growth rate r: exponential growth, dN/dt = rN, which curves upward in a J shape, or logistic growth, dN/dt = rN(K − N)/K, an S-shaped curve that levels off at the carrying capacity K. It can draw the two together from the same numbers, logistic growth that overshoots K and oscillates around it, or a population that booms and crashes. Show the population size, the growth rate dN/dt or the per capita growth rate over time, two of them stacked on the same time axis, or the rates against population size.
Teachers use it for ecology questions on tests, worksheets and slides. Start from a default setup like yeast in a flask or deer on an island, or type your own numbers, name the organism and the unit of time, and the axes fit themselves. Mark the carrying capacity, the inflection point and the lag, exponential and stationary phases, add census points scattered like real counts with a table beside the graph, or hide the curve and leave blank axes and blank labels for students to fill in.
What you can set
- Growth: logistic (S-curve), exponential (J-curve), exponential and logistic together, overshoot and oscillation, or boom and crash
- The starting size N₀, growth rate r, carrying capacity K (the peak size for boom and crash, and a lag τ for overshoot), and the time span, in hours, days, weeks, months, years or generations
- Ten default setups, from yeast in a flask and bacteria doubling every hour to reindeer that boom and crash, and the organism’s name for the axis titles
- The graphs: population size, growth rate or per capita growth rate over time, two of them stacked, or either rate or both against population size
- The carrying capacity as a dashed line, the inflection point at N = K/2, and the lag, exponential and stationary phases, each labeled, left as a blank line for students, or unlabeled
- Census points counted at any interval, on the curve or scattered by about 5%, 10% or 20%, with a table of the counts beside the graph
- The curve drawn or hidden for students to draw, its color, the chart and axis titles (or blank lines), the axis ranges and numbering, gridlines, and label size
Copying, printing and sharing
Copy the figure straight into a test, worksheet or slide, or download it as a PNG or SVG. Printing the page prints
just the figure. Share link copies the page’s address with your settings in it, so anyone who opens it sees this
exact figure, and presets save settings you use often in your browser. It’s free, with no sign-up.
Frequently asked questions
What is the difference between exponential and logistic growth?
Exponential growth, dN/dt = rN, assumes unlimited resources, so the population grows faster and faster in a J-shaped curve. Logistic growth, dN/dt = rN(K − N)/K, slows as the population nears the carrying capacity K, the largest population the environment can support, so the curve is S-shaped and levels off at K. Choose Exponential and logistic to draw both from the same starting size and r, the exponential curve dashed.
Where is the inflection point on a logistic growth curve?
At half the carrying capacity, N = K/2. There the population grows fastest, rK/4 individuals per unit of time: below it, growth speeds up; above it, growth slows. Tick Inflection point to mark it with a dot and dashed lines to the axes, and the page also says when the population reaches it.
What is the per capita growth rate?
The growth rate per individual: dN/dt divided by N. For exponential growth it stays at r however big the population gets. For logistic growth it is r(K − N)/K, falling in a straight line from r to 0 at the carrying capacity. Graph it against population size to see the difference, or stack it under the growth rate dN/dt, which for logistic growth is a hump that peaks at N = K/2.
How do I find the doubling time of an exponential population?
Divide ln 2, about 0.693, by r. A population growing at r = 0.5 per year doubles about every 1.39 years. With exponential growth chosen, the page shows the doubling time for the r you type, and the Bacteria doubling every hour setup uses r = ln 2 per hour, so its census table doubles each hour.
Can I graph census data with some scatter, like real counts?
Yes. Tick Show census points and choose how often the population is counted. The counts can sit on the curve or be scattered by about 5%, 10% or 20%, and New counts draws a different scatter. List the counts in a table beside the graph, or untick Draw the curve so students fit the curve through the points themselves.
What are the lag, exponential and stationary phases?
The stages of a growth curve like yeast or bacteria in a culture: a slow start while the population is small (the lag phase), rapid growth (the exponential phase), and a leveling off near the carrying capacity (the stationary phase). The generator ends the phases where the curve’s steepest tangent, through the inflection point, meets the starting size and K, the way a culture’s lag is measured, and brackets each phase above the graph.
Can it show a population that overshoots its carrying capacity?
Yes. Overshoot and oscillation is logistic growth that responds to crowding a lag τ late, so it can rise past K and swing around it. With r times τ below about 0.37 it levels off without overshooting, up to about 1.57 the swings die away, and above that they keep going; the page says which for the numbers you type. Boom and crash draws a population using up food that doesn’t grow back, rising to the peak size you type and then crashing.
← All biology figures