On Tue, Apr 7, 2009 at 4:29 PM, Jae-Joon Lee <lee.j.j...@gmail.com> wrote:
> Hi,
>
> I'm not a frequent user of matplotlib.dates module, so other expert
> may give you a better answer.
> My understanding is that, for the date time formatting, the (x-) data
> needs to be days (if not datetime instance) from some reference point
> (1, 1, 1? I'm not sure).
>
> The easiest way I can think of in your case is
>
>
> from matplotlib.dates import datetime, SEC_PER_DAY
> ordinal_today=datetime.datetime.today().toordinal()
> xvals = ordinal_today + np.arange(1200, dtype="d")/SEC_PER_DAY
You can also do this without converting to ordinal by hand:
from datetime import datetime, timedelta
today = datetime.today()
xvals = [today + timedelta(seconds=s) for s in range(1200)]
# Matplotlib can use lists, but you can also make this into a numpy
object array
xvals = np.array(xvals)
Since matplotlib's date formatter and locator require absolute times, you
could also just make your own locator and formatter functions for your
relative time values:
import matplotlib.ticker as mticker
def minsec(sec, unused):
minutes = sec // 60
sec = sec - minutes * 60
return '%d:%02d' % (minutes, sec)
locator = mticker.MultipleLocator(60)
formatter = mticker.FuncFormatter(minsec)
Ryan
--
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma
Sent from Enterprise, AL, United States
------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users