All,
Is it possible to plot dates on the Y-axis? I'd like to have dates on the y axis descending or ascending versus my values on the x - axis. Is it possible to do this or simply switch the axis?
Thanks!
Regards,
Ken
All,
Is it possible to plot dates on the Y-axis? I'd like to have dates on the y axis descending or ascending versus my values on the x - axis. Is it possible to do this or simply switch the axis?
Thanks!
Regards,
Ken
Kenneth Miller wrote:
Is it possible to plot dates on the Y-axis? I'd like to have dates on the y axis descending or ascending versus my values on the x - axis. Is it possible to do this or simply switch the axis?
Not sure what you mean, have you just tried it with plot or plot_dates?
What problems are you experiencing?
cheers,
Chris
--
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
Not a problem -- with recent versions of mpl, you can simply pass a
sequence of date objects directly. Use Axes.invert_yaxis to change
the order from ascending to descending. Here is an example loading
some data from a CSV file and plotting floats on the x axis and dates
on the y axis
In [7]: import matplotlib.mlab as mlab
In [8]: r = mlab.csv2rec('aapl.csv')
In [9]: r.sort()
In [10]: r[-5:]
Out[10]:
recarray([ (datetime.date(2008, 2, 11), 128.00999999999999,
129.97999999999999, 127.2, 129.44999999999999, 42886900,
129.44999999999999),
(datetime.date(2008, 2, 12), 130.69999999999999, 131.0, 123.62,
124.86, 43749900, 124.86),
(datetime.date(2008, 2, 13), 126.68000000000001, 129.78,
125.63, 129.40000000000001, 34542300, 129.40000000000001),
(datetime.date(2008, 2, 14), 129.40000000000001,
130.80000000000001, 127.01000000000001, 127.45999999999999, 34074900,
127.45999999999999),
(datetime.date(2008, 2, 15), 126.27, 127.08, 124.06, 124.63,
32163400, 124.63)],
dtype=[('date', '|O4'), ('open', '<f8'), ('high', '<f8'),
('low', '<f8'), ('close', '<f8'), ('volume', '<i4'), ('adj_close',
'<f8')])
In [11]: fig = figure()
In [12]: ax = fig.add_subplot(111)
In [13]: ax.plot(r.close, r.date, 'o')
Out[13]: [<matplotlib.lines.Line2D instance at 0x237fc10>]
In [14]: draw()
In [15]: ax.invert_yaxis()
In [16]: draw()
On Fri, Mar 21, 2008 at 11:27 AM, Kenneth Miller <xkenneth@...287...> wrote:
All,
Is it possible to plot dates on the Y-axis? I'd like to have
dates on the y axis descending or ascending versus my values on the x
- axis. Is it possible to do this or simply switch the axis?
Kenneth Miller wrote:
Is it possible to plot dates on the Y-axis? I'd like to have dates on the y axis descending or ascending versus my values on the x - axis. Is it possible to do this or simply switch the axis?
Not sure what you mean, have you just tried it with plot or plot_dates?
A common type of graph in my work is to see the value (from 0 to something) represented on the x axis, and instead of the y representing a value, it represents time. The closer the Y value gets to the x-axis, the closer it is to the current time, and the further away the further back in time. When i pass plot_dates timestamps for the y axis, and integers for the x axis it simply displays the y-axis as floats.
Regards,
Kenneth Miller
On Mar 21, 2008, at 11:56 AM, Chris Withers wrote:
What problems are you experiencing?
cheers,
Chris
--
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
Kenneth Miller wrote:
back in time. When i pass plot_dates timestamps for the y axis, and integers for the x axis it simply displays the y-axis as floats.
did you try:
plot_dates(x,dates,ydate=True)
?
Chris
--
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk