Note

Go to the endto download the full example code.

Logit scale#

Examples of plots with logit axes.

This example visualises howset_yscale("logit") works on probability plotsby generating three distributions: normal, laplacian, and cauchy in one plot.

The advantage of logit scale is that it effectively spreads out values close to 0 and 1.

In a linear scale plot, probability values near 0 and 1 appear compressed,making it difficult to see differences in those regions.

In a logit scale plot, the transformation expands these regions,making the graph cleaner and easier to compare across different probability values.

This makes the logit scale especially useful when visalising probabilities in logisticregression, classification models, and cumulative distribution functions.

logit scale, logit scale, logit scale, logit scale, linear scale, linear scale
importmathimportmatplotlib.pyplotaspltimportnumpyasnpxmax=10x=np.linspace(-xmax,xmax,10000)cdf_norm=[math.erf(w/np.sqrt(2))/2+1/2forwinx]cdf_laplacian=np.where(x<0,1/2*np.exp(x),1-1/2*np.exp(-x))cdf_cauchy=np.arctan(x)/np.pi+1/2fig,axs=plt.subplots(nrows=3,ncols=2,figsize=(6.4,8.5))# Common part, for the example, we will do the same plots on all graphsforiinrange(3):forjinrange(2):axs[i,j].plot(x,cdf_norm,label=r"$\mathcal{N}$")axs[i,j].plot(x,cdf_laplacian,label=r"$\mathcal{L}$")axs[i,j].plot(x,cdf_cauchy,label="Cauchy")axs[i,j].legend()axs[i,j].grid()# First line, logitscale, with standard notationaxs[0,0].set(title="logit scale")axs[0,0].set_yscale("logit")axs[0,0].set_ylim(1e-5,1-1e-5)axs[0,1].set(title="logit scale")axs[0,1].set_yscale("logit")axs[0,1].set_xlim(0,xmax)axs[0,1].set_ylim(0.8,1-5e-3)# Second line, logitscale, with survival notation (with `use_overline`), and# other format display 1/2axs[1,0].set(title="logit scale")axs[1,0].set_yscale("logit",one_half="1/2",use_overline=True)axs[1,0].set_ylim(1e-5,1-1e-5)axs[1,1].set(title="logit scale")axs[1,1].set_yscale("logit",one_half="1/2",use_overline=True)axs[1,1].set_xlim(0,xmax)axs[1,1].set_ylim(0.8,1-5e-3)# Third line, linear scaleaxs[2,0].set(title="linear scale")axs[2,0].set_ylim(0,1)axs[2,1].set(title="linear scale")axs[2,1].set_xlim(0,xmax)axs[2,1].set_ylim(0.8,1)fig.tight_layout()plt.show()

Total running time of the script: (0 minutes 2.335 seconds)

Gallery generated by Sphinx-Gallery