Say one had a function that was itself asymmetric about the abscissa, but one desired to plot it on a symmetric ordinate. How can this be achieved with `Plot` automatically (without separately computing the limits and providing them to `Plot`)? **Example** The plot of `1/2` serves as a sufficient example. Table[ Plot[ 1/2, { x, 0, 1 }, Frame -> { False, True }[[i]], Axes -> { True, False }[[i]] ], { i, 1, 2 } ] ![asymmetric plots][1] But we might want the `PlotRange` to go from $+1$ to $-1$ instead, like: ![symmetric plot][2] I did this with the option `PlotRange`, but short of finding the maximum of the absolute value of the function and setting `PlotRange`, I don't know how to automate this. Specifically, is it possible to use `Plot` in a native manner to do this? **Solution** (based on the answer by Szabolcs) Here's a little function that implements the answer. plotSym[ plot_ ] := plot // { #, Max@Abs@Last[PlotRange /. AbsoluteOptions[#, PlotRange]] } & // Show[ #[[1]], PlotRange -> (1.2*{-#[[2]], #[[2]]}) ] & Note: I added the factor of `1.2` as a way to give the plot a little more room. It can be anything nonzero (including the likely more-desirable `1`). [1]: https://i.sstatic.net/DJB3k.png [2]: https://i.sstatic.net/wn94G.png