You are reading documentation for the unreleased version of Matplotlib. Try searching for the released version of this page instead?
Applications are open for the 2018 John Hunter Matplotlib Summer Fellowship. Apply now!
Version 2.2.2.post1768+g23420a4c1
Fork me on GitHub


Axes.semilogy(*args, **kwargs)[source]

Make a plot with log scaling on the y axis.

Call signatures:

semilogy([x], y, [fmt], data=None, **kwargs)
semilogy([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

This is just a thin wrapper around plot which additionally changes the y-axis to log scaling. All of the concepts and parameters of plot can be used here as well.

The additional parameters basey, subsy and nonposy control the y-axis properties. They are just forwarded to Axes.set_yscale.

basey : scalar, optional, default 10

Base of the y logarithm.

subsy : array_like, optional

The location of the minor yticks. If None, reasonable locations are automatically chosen depending on the number of decades in the plot. See Axes.set_yscale for details.

nonposy : {'mask', 'clip'}, optional, default 'mask'

Non-positive values in y can be masked as invalid, or clipped to a very small positive number.


A list of Line2D objects representing the plotted data.

Other Parameters:

All parameters supported by plot.