|
From: Paul T. <pau...@gm...> - 2012-09-06 04:17:57
|
Hmm. I found that mpl handled my datetime objects just fine:
# put the weeks on the x axis
# dates are datetime.datetime
ax.plot(dates, defects)
ax.xaxis.set_major_formatter(
matplotlib.dates.DateFormatter('%W'))
# create an invisible line in order to
# create a secondary x axis below
# the first axis, which just has the month(s)
newax = fig.add_axes(ax.get_position())
newax.spines['bottom'].set_position(('outward', 25))
newax.patch.set_visible(False)
newax.yaxis.set_visible(False)
# months are also datetime. However, I filtered out
# all dates except the first date for each month
newax.plot_date(months, y, visible=False)
newax.xaxis.set_major_locator(
matplotlib.dates.MonthLocator()
)
newax.xaxis.set_major_formatter(
matplotlib.dates.DateFormatter('%b')
)
On Thu, Sep 6, 2012 at 12:02 AM, Eric Firing <ef...@ha...> wrote:
> On 2012/09/05 4:04 PM, Paul Tremblay wrote:
> > I am using numpy 1.7, which I built myself (python3 setup.py build). I
> > had a chance to look a bit deeper into matplotlib, which in turn forced
> > me to learn a bit of numpy, and now I see that it probably makes more
> > sense to use numpy arrays for my data. Since the default for an array is
> > a float, most users won't encounter the problems I did, but a warning in
> > a FAQ might solve a few headaches, regardless of how the developers
> > decided to go.
>
> Paul,
>
> numpy 1.7 has a new datetime dtype which probably would be good for your
> use--except that mpl doesn't support it yet. That will be a project for
> mpl v1.3.
>
> Eric
>
> >
> > Thanks for your help.
> >
> > Paul
> >
> > On Tue, Sep 4, 2012 at 3:09 PM, Benjamin Root <ben...@ou...
> > <mailto:ben...@ou...>> wrote:
> >
> >
> >
> > On Tue, Sep 4, 2012 at 2:20 PM, Paul Tremblay
> > <pau...@gm... <mailto:pau...@gm...>> wrote:
> >
> >
> > The following Python code:
> >
> > >>ax.fill_between(dates, lower, upper, facecolor='gray',
> alpha=0.5)
> >
> > Produces this error with Python 3.2:
> >
> > Traceback (most recent call last):
> > File "scripts/audit_reports_weekly.py", line 150, in <module>
> > ax.fill_between(dates, lower, upper, facecolor='gray',
> > alpha=0.5)
> > File
> >
> "/home/local/ANT/ptrembl/.local/lib/python3.2/site-packages/matplotlib/axes.py",
> > line 6741, in fill_between
> > y1 = ma.masked_invalid(self.convert_yunits(y1))
> > File
> >
> "/home/local/ANT/ptrembl/.local/lib/python3.2/site-packages/numpy/ma/core.py",
> > line 2241, in masked_invalid
> > condition = ~(np.isfinite(a))
> > TypeError: ufunc 'isfinite' not supported for the input types,
> > and the inputs could not be safely coerced to any supported
> > types according to the casting rule ''safe''
> >
> >
> > [Decimal('3619.900530366609820157812617'), .....]
> >
> > If I change the list from type Decimal to type float, then I
> > don't get the error. Likewise, if I use Python 2.7, I also don't
> > get an error.
> >
> > After reading over the error message, I realize that this error
> > really results because of numpy, not matplotlib. But I'll go
> > ahead and post this message, in case you are unaware of the
> > problem.
> >
> >
> > Just a quick note, mpl v1.1.x is not officially supported for py3k.
> > The upcoming release of v1.2.0 will be the first official release
> > with such support.
> >
> > That being said, it probably would be a good idea to make sure where
> > the bug lies for this one (numpy or matplotlib). Which version of
> > numpy are you using?
> >
> > Ben Root
> >
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Live Security Virtual Conference
> > Exclusive live event will cover all the ways today's security and
> > threat landscape has changed and how IT managers can respond. Discussions
> > will include endpoint security, mobile security and the latest in malware
> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> >
> >
> >
> > _______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> >
>
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
|