Hi there,
I'm using matplotlib (version 0.98.5.2) to generate a couple of bar-charts for a website.
Until now I've not been able to find a way set the x axis to a fixed range.
Suppose my data is turnover per hour. Now: If there is zero turnover at the beginning
or the end of a period matplotlib omits that value and limits the xrange so that non-zero
hours reside on the edges which would be confusing for the users.
This is the code:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(5,4),dpi=72)
ax = fig.add_subplot(111)
ax.set_ylabel('EUR')
ax.set_xlabel('Hour')
ax.set_xlim((1,24))
ax.bar(data.keys(),data.values(),width=1,align='center')
fig.savefig(filename)
I searched the docs but I didn't find anything that could fix my problem.
It would be great if anybody knew (and told me) what I am doing wrong.
Thanks in advance
Till Backhaus
Try moving the call to ax.set_xlim to after the call to ax.bar.
Ryan
···
On Thu, Apr 23, 2009 at 8:40 AM, Till Backhaus <till@…2568…> wrote:
Hi there,
I’m using matplotlib (version 0.98.5.2) to generate a couple of bar-
charts for a website.
Until now I’ve not been able to find a way set the x axis to a fixed
range.
Suppose my data is turnover per hour. Now: If there is zero turnover
at the beginning
or the end of a period matplotlib omits that value and limits the
xrange so that non-zero
hours reside on the edges which would be confusing for the users.
This is the code:
import matplotlib
matplotlib.use(‘Agg’)
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(5,4),dpi=72)
ax = fig.add_subplot(111)
ax.set_ylabel(‘EUR’)
ax.set_xlabel(‘Hour’)
ax.set_xlim((1,24))
ax.bar(data.keys(),data.values(),width=1,align=‘center’)
fig.savefig(filename)
–
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma
Sent from Norman, Oklahoma, United States