Reputation: 251
I want to have a bar graph showing x values ranging from 0-9. The bars should have the same space, and the problem I'm having is fitting the 10 values together while all have the same area space for bars.
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10, 6))
results_plot = plt.subplot2grid((10, 6), (0,0), colspan=8, rowspan=2)
results_plot.set_title("Results")
res_x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
res_y = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
rects = plt.bar(res_x, res_y, color='b')
results_plot.set_xbound(lower=0.0, upper=9.0)
results_plot.set_ybound(lower=0.0, upper=100.0)
results_plot2 = plt.subplot2grid((10, 6), (3,0), colspan=8, rowspan=2)
results_plot2.set_title("Results 2")
res_x2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
res_y2 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
rects2 = plt.bar(res_x2, res_y2, color='b')
results_plot2.set_xbound(lower=-.5, upper=9.5)
results_plot2.set_ybound(lower=0.0, upper=100.0)
plt.show()
So in short I want to see all the x values on the axes (like in figure 1) with each having the same bar space (figure 2).
Upvotes: 0
Views: 84
Reputation: 64443
If you only want a tick below each bar, you can set the xticks
directly using your res_x
. Add:
results_plot2.set_xticks(res_x)
Upvotes: 2