You can use the **logx** and **logy** arguments to create histograms with log scales on the x-axis and y-axis, respectively, in pandas:

#create histogram with log scale on x-axis df['my_column'].plot(kind='hist', logx=True) #create histogram with log scale on y-axis df['my_column'].plot(kind='hist', logy=True)

The following example shows how to use these arguments to create histograms with log scales in pandas.

**Related:** When Should You Use a Log Scale in Charts?

**Example: Create Histogram with Log Scale in Pandas**

Suppose we have the following pandas DataFrame with 5,000 rows:

import pandas as pd import numpy as np #make this example reproducible np.random.seed(1) #create DataFrame df = pd.DataFrame({'values': np.random.lognormal(size=5000)}) #view first five rows of DataFrame print(df.head()) values 0 5.075096 1 0.542397 2 0.589682 3 0.341992 4 2.375974

We can use the following syntax to create a histogram with a linear scale on both the x-axis and y-axis:

#create histogram df['values'].plot(kind='hist')

The x-axis and y-axis both currently have a linear scale.

We can use the **logx=True** argument to convert the x-axis to a log scale:

#create histogram with log scale on x-axis df['values'].plot(kind='hist', logx=True)

The values on the x-axis now follow a log scale.

And we can use the **logy=True** argument to convert the y-axis to a log scale:

#create histogram with log scale on y-axis df['values'].plot(kind='hist', logy=True)

The values on the y-axis now follow a log scale.

**Additional Resources**

The following tutorials explain how to perform other common tasks in pandas:

How to Create a Histogram from Pandas DataFrame

How to Create a Histogram from a Pandas Series

How to Plot Histograms by Group in Pandas