A semi-log graph uses a logarithmic scale on one axis and a regular linear scale on the other. The key to reading one is understanding that the spacing between grid lines on the logarithmic axis is not equal. The distance between 1 and 2 is physically larger than the distance between 9 and 10, because the scale is compressed at higher values. Once you internalize this single idea, everything else about reading the graph falls into place.
Which Axis Is Logarithmic
The first step is figuring out which axis uses the log scale. Most semi-log graphs put the logarithmic scale on the y-axis (vertical), but it can appear on the x-axis instead. You can spot it quickly: look at the labeled tick marks. If they jump by factors of 10 (1, 10, 100, 1,000) rather than equal intervals (10, 20, 30, 40), that axis is logarithmic. The physical spacing between major grid lines will also look even despite the values increasing tenfold each time.
The other axis will behave normally, with evenly spaced values. In a river discharge graph, for example, the x-axis might show months of the year in even steps while the y-axis shows water flow on a logarithmic scale, jumping from 100 to 1,000 to 10,000 cubic feet per second.
Reading Values on the Log Scale
On a linear scale, the minor grid lines between two major marks are equally spaced and each represents the same amount. On a logarithmic scale, that’s not the case. Between 10 and 100, the minor lines represent 20, 30, 40, and so on, but they get closer together as you move up. The line for 20 sits noticeably farther from 10 than the line for 90 sits from 100. This bunching effect repeats in every “cycle” of the scale (1 to 10, 10 to 100, 100 to 1,000).
To read a data point, first identify which cycle it falls in. If a point sits between the 100 and 1,000 lines, you know the value is somewhere in the hundreds. Then look at where it falls relative to the minor grid lines within that cycle. A point about one-third of the way (visually) between 100 and 1,000 is roughly 200, not 400, because the scale is stretched at the lower end of each cycle.
Estimating Between Grid Lines
When a data point falls between two labeled marks on the logarithmic axis, you can’t simply split the difference the way you would on a normal graph. On a linear scale, the midpoint between 10 and 100 is 55 (the arithmetic average). On a logarithmic scale, the visual midpoint represents the geometric average: the square root of 10 × 100, which is about 31.6. That’s a big difference.
The intuition here is that logarithmic scales care about ratios, not differences. The midpoint is the value that’s the same multiplicative factor away from both endpoints. From 10, you multiply by about 3.16 to get 31.6, and from 31.6 you multiply by the same 3.16 to reach 100. If a point sits one-quarter of the way between two grid lines rather than halfway, the same principle applies: you’re looking for a proportional position, not an additive one. For casual reading, just remember that values cluster toward the bottom of each cycle, so a point that looks like it’s in the middle is closer in value to the lower grid line than you’d expect.
What a Straight Line Means
This is the most useful thing to know about semi-log graphs. A straight line on a semi-log plot means the data is growing (or shrinking) exponentially. On a regular graph, exponential growth produces a curve that swoops sharply upward and makes it hard to see what’s happening at lower values. On a semi-log graph, that same exponential relationship becomes a neat straight line, which is exactly why scientists use this format.
The steepness of that line tells you the rate of growth or decay. A steeper upward slope means faster exponential growth. A steeper downward slope means faster decay. If the line curves upward on a semi-log plot, growth is faster than exponential. If it curves downward, growth is slowing.
In microbiology, for instance, bacteria dividing at a constant rate produce an upwardly curving line on a regular graph but a straight line on a semi-log graph. Researchers use this to confirm that growth is truly exponential during a particular phase. In pharmacology, the concentration of a drug in your bloodstream after an injection typically drops as a straight line on a semi-log plot, indicating the body eliminates it at a constant percentage rate. The slope of that line is directly related to the drug’s half-life: a steeper slope means a shorter half-life and faster clearance.
Why Zero Never Appears on the Log Axis
You’ll notice that the logarithmic axis never includes zero. This isn’t an oversight. The logarithm of zero is undefined, and there’s no power of 10 that equals zero. If the scale goes 0.1, 1, 10, 100, it can keep going down (0.01, 0.001) but never reaches zero. The same applies to negative numbers. If your data includes zeros or negative values, they simply cannot be plotted on the logarithmic axis.
Calculating the Slope
If you need to extract a growth or decay rate from a straight line on a semi-log graph, pick two points on the line that are easy to read. The slope is calculated using the natural logarithm of the y-values divided by the difference in x-values:
Slope = (ln y₂ − ln y₁) / (x₂ − x₁)
The units of this slope are the inverse of whatever units are on the linear axis. If the x-axis is time in hours, the slope has units of “per hour” and represents the rate constant for exponential growth or decay. A positive slope means the quantity is increasing; a negative slope means it’s decreasing. For a quick sanity check, you can estimate the doubling time (or half-life) by dividing 0.693 by the absolute value of the slope.
Creating a Semi-Log Graph in Excel
If you want to make your own semi-log graph, start by creating a standard chart with your data. Then right-click on the axis you want to convert, select “Format Axis,” and check the “Logarithmic Scale” box. Excel will automatically relabel the tick marks in powers of 10 and adjust the spacing. You can change the base from 10 to another number if needed, though base 10 is standard for most applications. The other axis stays linear by default, giving you a semi-log plot.
Google Sheets works similarly: click the axis, open axis formatting options, and toggle the logarithmic scale switch. Both programs will handle the grid line spacing for you, so the minor lines between 1 and 10 will automatically bunch together the way they should.
Common Mistakes When Reading Semi-Log Graphs
- Treating the log axis as linear. Reading a point halfway between 10 and 100 as 55 instead of roughly 32 is the most common error. Always remember the scale is compressed at the top of each cycle.
- Confusing semi-log with log-log. A log-log graph uses logarithmic scales on both axes. A straight line on a log-log plot represents a power-law relationship, not exponential growth. Check both axes before interpreting.
- Underestimating differences. Because the log scale compresses large values, two lines that look close together at the top of the graph may represent enormous differences in actual numbers. A small visual gap between 1,000 and 5,000 on a log axis represents a fivefold difference.
- Ignoring the cycle boundaries. Each tenfold jump (1 to 10, 10 to 100) is called a “decade” or “cycle.” The minor grid lines reset their meaning at each boundary. A minor line between 1 and 10 might represent 2, but the same visual position between 100 and 1,000 represents 200.

