tick frequency when using seaborn/matplotlib boxplot tick frequency when using seaborn/matplotlib boxplot python python

tick frequency when using seaborn/matplotlib boxplot


The seaborn boxplot uses a FixedLocator and a FixedFormatter, i.e.

print ax.xaxis.get_major_locator()print ax.xaxis.get_major_formatter()

prints

<matplotlib.ticker.FixedLocator object at 0x000000001FE0D668><matplotlib.ticker.FixedFormatter object at 0x000000001FD67B00>

It's therefore not sufficient to set the locator to a MultipleLocator since the ticks' values would still be set by the fixed formatter.

Instead you would want to set a ScalarFormatter, which sets the ticklabels to correspond to the numbers at their position.

import matplotlib.pyplot as pltimport matplotlib.ticker as tickerimport seaborn.apionly as snsimport numpy as npax = sns.boxplot(data = np.random.rand(20,30))ax.xaxis.set_major_locator(ticker.MultipleLocator(5))ax.xaxis.set_major_formatter(ticker.ScalarFormatter())plt.show()

enter image description here