user977828
user977828

Reputation: 7679

matplotlib xticks labels overlap

I am not able to get nicer spaces between the xticks with the following code:

import random
import matplotlib.pyplot as plt

coverages = [random.randint(1,10)*2] * 100
contig_names = ['AAB0008r'] * len(coverages)
fig = plt.figure()
fig.clf()
ax = fig.add_subplot(111)

ax.yaxis.grid(True, linestyle='-', which='major', color='grey', alpha=0.5)

ind = range(len(coverages))
rects = ax.bar(ind, coverages, width=0.2, align='center', color='thistle')
ax.set_xticks(ind)
ax.set_xticklabels(contig_names)
#function to auto-rotate the x axis labels
fig.autofmt_xdate()

plt.show()

How to get more space between the xticks so they do not look like overlapped anymore?

Thank you in advance.

Upvotes: 16

Views: 22151

Answers (1)

imsc
imsc

Reputation: 7840

You can try changing the figure size, the size of the xticklabels, their angle of rotation, etc.

# Set the figure size
fig = plt.figure(1, [20, 8])

# Set the x-axis limit
ax.set_xlim(-1,100)
# Change of fontsize and angle of xticklabels
plt.setp(ax.get_xticklabels(), fontsize=10, rotation='vertical')

Upvotes: 19

Related Questions