How to change the axis scale of a plot using Matplotlib

2 min

Here is a simple example of a line plot, using the matplotlib library.

import matplotlib.pyplot as plt
import pandas as pd

# We create our dataframe
df = pd.DataFrame(index=range(0,10), data={"col1" : range(0,10)})

fig, axes = plt.subplots(1,1, figsize=(8,6))

# We do a line plot on the axes
axes.plot(df.index, df["col1"])

# Fixing the layout to fit the size
fig.tight_layout()

# Showing the plot
plt.show()
A simple line plot example using Matplotlib

Changing the axis scale

In order to change the axis scale we can use the axes.set_xscale() and axes.set_yscale() methods as in the following example.

The .set_xscale() and set_yscale() only take one mandatory argument which is the scale in which you want to change it into.

You can choose between the following options.

  • linear : Which is the default value of most plots.
  • log
  • symlog
  • logit

Changing y axis to log scale

You can use the following example to change the y axis scale to log.

import matplotlib.pyplot as plt
import pandas as pd

# We create our dataframe
df = pd.DataFrame(index=range(0,10), data={"col1" : range(0,10)})

# We setup our subplots graph on which we are going
# to plot.
fig, axes = plt.subplots(1,1, figsize=(8,6))

# We do a line plot on the axes
axes.plot(df.index, df["col1"])

# Changing the scale into log.
axes.set_yscale('log')

# Fixing the layout to fit the size
fig.tight_layout()

# Showing the plot
plt.show()
Changing the y axis scale to logarithmic

Changing x axis to log scale

Or you also can change the x axis scale like so

import matplotlib.pyplot as plt
import pandas as pd

# We create our dataframe
df = pd.DataFrame(index=range(0,10), data={"col1" : range(0,10)})

# We setup our subplots graph on which we are going
# to plot.
fig, axes = plt.subplots(1,1, figsize=(8,6))

# We do a line plot on the axes
axes.plot(df.index, df["col1"])

# Changing the scale into log.
axes.set_xscale('log')

# Fixing the layout to fit the size
fig.tight_layout()

# Showing the plot
plt.show()
Changing the x axis scale to logarithmic

More on plots

If you want to know more about how to add labels, plot different types of plots, etc... checkout the other articles I wrote on the topic, just here :

Matplotlib - The Python You Need
We gathered the only Python essentials that you will probably ever need.