How to change the axis scale of a plot using Matplotlib
• 2 minHere 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()
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 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()
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.