Think of function graphs like the basic shapes in geometry. If you know how a parabola, a line, or a square root graph looks, you can reshape it, slide it around, stretch it, flip it, and suddenly it models all kinds of new scenarios. That’s what transformations do. They let you reuse a small set of simple graphs to understand much more complex ones.
Everything starts with a few basic functions. If you’re not already familiar with their shapes, it helps to sketch them out first.
is a straight diagonal line through the origin
is a symmetric U-shaped parabola
forms an S-curve through the origin
starts at (0, 0) and curves upward slowly
forms a sharp V with its point at the origin
makes two opposite curves in diagonal quadrants, forming a hyperbola
These are the templates. Transformations let you bend, stretch, or shift them into new forms.
Transformations change how a graph behaves by altering its x and y values.
When you write , you’re adding a number to every y-value. This lifts the graph up or pushes it down, depending on whether is positive or negative. It moves all the points vertically.
In , the graph shifts horizontally. This one often trips people up, because the direction feels reversed. Subtracting inside the brackets actually moves the graph to the right. That’s because the change happens to the input before the function applies.
With , you scale the y-values. If is larger than 1, the graph stretches vertically. If it’s between 0 and 1, it gets compressed toward the x-axis. You’re scaling the output values directly.
This one comes from . If is greater than 1, the graph compresses horizontally because the function responds more quickly. If is between 0 and 1, the graph stretches out since the function takes longer to react. You’re scaling the input.
Negative signs reflect the graph.
reflects over the x-axis by negating the output
reflects over the y-axis by flipping the input
These reflections work because you’re either flipping the input or output values of the function.
Once you already understand what each transformation does on its own, the next step is learning how to apply them together. Let’s say you start with a basic parent function, like . The transformed version looks like this:
Let’s use this:
We’ll apply it to a simple parabola, . That means our original points will be things like (0, 0), (2, 4), (−2, 4), and so on.
Rather than thinking step-by-step about the graph, we can jump straight to what happens to any point by doing four quick moves:
For x: divide by 2 (because of the 2 inside the brackets), then add 5 (from the ).
So:
For y: multiply by 3 (outside the function), then add 8.
So:
That gives us:
Now let’s try it on some real points from the parabola.
Start with the vertex, (0, 0):
New x is , new y is → becomes (5, 8)
Next, (2, 4):
New x is , new y is → becomes (6, 20)
Now (−2, 4):
New x is , new y is still 20 → becomes (4, 20)
It all comes down to the order of operations. When a transformation is written as , the changes to x happen in a specific sequence: subtract 5, then multiply by 2. But when graphing, you’re figuring out where each point ends up, so you need to reverse that sequence. You divide by 2 first, then add 5. That’s why the transformation for x is , not the other way around.
For y-values, the operations happen in the same order they appear. The graph gets scaled by 3, then shifted up by 8, which means you just multiply and then add.
Once you recognize that the x-transformations are reversed and the y-transformations follow the normal order, the whole process becomes much easier to follow. You can apply the rule to any point without getting lost in each intermediate graph step.
Here are some open-ended questions to help you think more deeply about this material and connect it to related ideas.
Subscribe now to keep reading and get access to the full archive.