You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
1
(3) |
2
|
3
|
4
(1) |
5
(3) |
6
(1) |
7
(4) |
8
(6) |
9
(5) |
10
(2) |
11
(3) |
12
(6) |
13
|
14
|
15
(9) |
16
(11) |
17
(4) |
18
(3) |
19
(1) |
20
(2) |
21
(2) |
22
(13) |
23
(4) |
24
(2) |
25
(7) |
26
(1) |
27
(3) |
28
(1) |
29
(2) |
30
(3) |
|
|
|
|
many thanks - was struggling to find out where's the document! On 16 September 2014 17:20, Scott Lasley <sl...@sp...> wrote: > > On Sep 16, 2014, at 11:31 AM, Xiaobo Yang <xia...@gm...> wrote: > > > Hi, > > > > My X axis represents dates. When I used get_xlim(), I got something like > 735461.0 and 735490.5. What are these values? How can I convert to python > date objects? > > > > Many thanks, > > Tom > > See the matplotlib dates documentation at > > http://matplotlib.org/api/dates_api.html > >
Hello. I do not know the guilty people in this story. The following code works with Anaconda Python 3 on Lubuntu 14 but it does not with Anaconda Python 3 Mac OS Maverick. Why ? This message has been posted on both the list of Anaconda and the one of matplotlib. Christophe === Code === # Source # * http://matplotlib.org/1.3.1/users/image_tutorial.html import matplotlib.pyplot as plt import matplotlib.image as mpimg impath = path2stinkbug_png" im = mpimg.imread(impath) implot = plt.imshow(im) plt.show()
On Sep 16, 2014, at 11:31 AM, Xiaobo Yang <xia...@gm...> wrote: > Hi, > > My X axis represents dates. When I used get_xlim(), I got something like 735461.0 and 735490.5. What are these values? How can I convert to python date objects? > > Many thanks, > Tom See the matplotlib dates documentation at http://matplotlib.org/api/dates_api.html
Le 16/09/2014 17:31, Xiaobo Yang a écrit : > My X axis represents dates. When I used get_xlim(), I got something > like 735461.0 and 735490.5. What are these values? How can I convert > to python date objects? Please, read the documentation of datetime. Your data are *ordinals*, numbers which pack the data: year, month, etc. into one number ; the same strategy is used in spreadsheets, e.g., Excel. If r=r=735461, then datetime.fromordinal(r) gives: datetime.datetime(2014, 8, 16, 0, 0), unless I am mistaken... == This is the first approximation ... the "proleptic Gregorian ordinals" are integers. You have floats, and this probably is converted into fractions of a day / hour, etc. Read also something about timestamps. Regards. Jerzy Karczmarczuk
Hi, My X axis represents dates. When I used get_xlim(), I got something like 735461.0 and 735490.5. What are these values? How can I convert to python date objects? Many thanks, Tom
Just posted some small code under https://github.com/matplotlib/matplotlib/issues/3522 I guess the formatting is not up to standards, but I did not find another way to attach the code... Cheers, Gerd On 16.09.2014 15:29, Benjamin Root wrote: > Perhaps something is odd with the date values you have? Can you make > an SSCCE (sscce.org <http://sscce.org>)that demonstrates the problem? > There is definitely some sort of bug at play here. > > Cheers! > Ben Root > > On Tue, Sep 16, 2014 at 9:20 AM, Gerd Wellenreuther > <Ger...@xf... <mailto:Ger...@xf...>> wrote: > > Tried this before, I think, here is the traceback (it is kind of > different) - maybe it tells some of you where to look at IF this > should really be a bug: > > >> Traceback (most recent call last): >> File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", line >> 187, in <module> >> matplotlib.pyplot.savefig(save_path+'test.png') >> File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line >> 561, in savefig >> return fig.savefig(*args, **kwargs) >> File "C:\Python27\lib\site-packages\matplotlib\figure.py", line >> 1421, in savefig >> self.canvas.print_figure(*args, **kwargs) >> File >> "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", line >> 2220, in print_figure >> **kwargs) >> File >> "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", >> line 505, in print_png >> FigureCanvasAgg.draw(self) >> File >> "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", >> line 451, in draw >> self.figure.draw(self.renderer) >> File "C:\Python27\lib\site-packages\matplotlib\artist.py", line >> 55, in draw_wrapper >> draw(artist, renderer, *args, **kwargs) >> File "C:\Python27\lib\site-packages\matplotlib\figure.py", line >> 1034, in draw >> func(*args) >> File "C:\Python27\lib\site-packages\matplotlib\artist.py", line >> 55, in draw_wrapper >> draw(artist, renderer, *args, **kwargs) >> File "C:\Python27\lib\site-packages\matplotlib\axes.py", line >> 2086, in draw >> a.draw(renderer) >> File "C:\Python27\lib\site-packages\matplotlib\artist.py", line >> 55, in draw_wrapper >> draw(artist, renderer, *args, **kwargs) >> File "C:\Python27\lib\site-packages\matplotlib\axis.py", line >> 1091, in draw >> ticks_to_draw = self._update_ticks(renderer) >> File "C:\Python27\lib\site-packages\matplotlib\axis.py", line >> 945, in _update_ticks >> tick_tups = [t for t in self.iter_ticks()] >> File "C:\Python27\lib\site-packages\matplotlib\axis.py", line >> 889, in iter_ticks >> majorLocs = self.major.locator() >> File "C:\Python27\lib\site-packages\matplotlib\dates.py", line >> 802, in __call__ >> self.refresh() >> File "C:\Python27\lib\site-packages\matplotlib\dates.py", line >> 820, in refresh >> self._locator = self.get_locator(dmin, dmax) >> File "C:\Python27\lib\site-packages\matplotlib\dates.py", line >> 896, in get_locator >> raise ValueError('No sensible date limit could be found in the ' >> ValueError: No sensible date limit could be found in the >> AutoDateLocator. > > Cheers, Gerd > > > On 16.09.2014 13:45, Joe Kington wrote: >> A quick way to do this is ``ax.invert_yaxis()`` (and >> invert_xaxis() for the x-axis). That way you preserve >> auto-scaling and don't wind up with manually set axis limits. >> >> What you did should have worked, but ``ymin`` and ``ymax`` are >> probably datetime objects. ``ylim`` isn't smart enough to convert >> them to the datetime units that matplotlib uses internally. >> >> Hope that helps! >> -Joe >> >> On Tue, Sep 16, 2014 at 4:00 AM, Gerd Wellenreuther >> <Ger...@xf... <mailto:Ger...@xf...>> >> wrote: >> >> Dear all, >> >> I hope some of you could help me out. I am currently trying >> to generate >> some timetables using matplotlib.pyplot.plot_date, having the >> time-axis >> on the y-axis. Typically, one would like to read these plots >> from top to >> bottom, from older to newer items (future on the bottom). >> Unfortunately, >> the default enumeration of the y-axis is the other way >> around, and it >> resists my attempts to invert its direction e.g. by changing >> limits >> using matplotlib.pyplot.ylim (Traceback below). I found a >> quite old >> entry in stackoverflow which is most probably outdated, at >> least the >> proposed solution did not work for me... >> (http://stackoverflow.com/questions/5804969/displaying-an-inverted-vertical-date-axis). >> >> Since the longish traceback seems to try to tell me I did not >> understand >> some kind of important - even trivial - point about those >> datetime-axis >> maybe some of you came about this problem before? >> >> Thanks, Gerd >> >> P.S.: Traceback after trying to use something like >> "matplotlib.pyplot.ylim(ymax,ymin)": >> > Traceback (most recent call last): >> > File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", >> line 187, >> > in <module> >> > matplotlib.pyplot.savefig(save_path+'test.png') >> > File >> "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 561, >> > in savefig >> > return fig.savefig(*args, **kwargs) >> > File >> "C:\Python27\lib\site-packages\matplotlib\figure.py", line >> > 1421, in savefig >> > self.canvas.print_figure(*args, **kwargs) >> > File >> "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", >> > line 2220, in print_figure >> > **kwargs) >> > File >> > >> "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", >> > line 505, in print_png >> > FigureCanvasAgg.draw(self) >> > File >> > >> "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", >> > line 451, in draw >> > self.figure.draw(self.renderer) >> > File >> "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, >> > in draw_wrapper >> > draw(artist, renderer, *args, **kwargs) >> > File >> "C:\Python27\lib\site-packages\matplotlib\figure.py", line >> > 1034, in draw >> > func(*args) >> > File >> "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, >> > in draw_wrapper >> > draw(artist, renderer, *args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\axes.py", >> line 2086, >> > in draw >> > a.draw(renderer) >> > File >> "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, >> > in draw_wrapper >> > draw(artist, renderer, *args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\axis.py", >> line 1091, >> > in draw >> > ticks_to_draw = self._update_ticks(renderer) >> > File "C:\Python27\lib\site-packages\matplotlib\axis.py", >> line 945, >> > in _update_ticks >> > tick_tups = [t for t in self.iter_ticks()] >> > File "C:\Python27\lib\site-packages\matplotlib\axis.py", >> line 889, >> > in iter_ticks >> > majorLocs = self.major.locator() >> > File "C:\Python27\lib\site-packages\matplotlib\dates.py", >> line 802, >> > in __call__ >> > self.refresh() >> > File "C:\Python27\lib\site-packages\matplotlib\dates.py", >> line 820, >> > in refresh >> > self._locator = self.get_locator(dmin, dmax) >> > File "C:\Python27\lib\site-packages\matplotlib\dates.py", >> line 896, >> > in get_locator >> > raise ValueError('No sensible date limit could be found >> in the ' >> > ValueError: No sensible date limit could be found in the >> AutoDateLocator. >> >> >> ------------------------------------------------------------------------------ >> Want excitement? >> Manually upgrade your production database. >> When you want reliability, choose Perforce. >> Perforce version control. Predictably reliable. >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> <mailto:Mat...@li...> >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce. > Perforce version control. Predictably reliable. > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > <mailto:Mat...@li...> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
Perhaps something is odd with the date values you have? Can you make an SSCCE (sscce.org)that demonstrates the problem? There is definitely some sort of bug at play here. Cheers! Ben Root On Tue, Sep 16, 2014 at 9:20 AM, Gerd Wellenreuther < Ger...@xf...> wrote: > Tried this before, I think, here is the traceback (it is kind of > different) - maybe it tells some of you where to look at IF this should > really be a bug: > > > Traceback (most recent call last): > File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", line 187, in > <module> > matplotlib.pyplot.savefig(save_path+'test.png') > File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 561, in > savefig > return fig.savefig(*args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line 1421, in > savefig > self.canvas.print_figure(*args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", line > 2220, in print_figure > **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > line 505, in print_png > FigureCanvasAgg.draw(self) > File "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > line 451, in draw > self.figure.draw(self.renderer) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, in > draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line 1034, in > draw > func(*args) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, in > draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 2086, in > draw > a.draw(renderer) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, in > draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1091, in > draw > ticks_to_draw = self._update_ticks(renderer) > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 945, in > _update_ticks > tick_tups = [t for t in self.iter_ticks()] > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 889, in > iter_ticks > majorLocs = self.major.locator() > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 802, in > __call__ > self.refresh() > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 820, in > refresh > self._locator = self.get_locator(dmin, dmax) > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 896, in > get_locator > raise ValueError('No sensible date limit could be found in the ' > ValueError: No sensible date limit could be found in the AutoDateLocator. > > > Cheers, Gerd > > > On 16.09.2014 13:45, Joe Kington wrote: > > A quick way to do this is ``ax.invert_yaxis()`` (and invert_xaxis() for > the x-axis). That way you preserve auto-scaling and don't wind up with > manually set axis limits. > > What you did should have worked, but ``ymin`` and ``ymax`` are probably > datetime objects. ``ylim`` isn't smart enough to convert them to the > datetime units that matplotlib uses internally. > > Hope that helps! > -Joe > > On Tue, Sep 16, 2014 at 4:00 AM, Gerd Wellenreuther < > Ger...@xf...> wrote: > >> Dear all, >> >> I hope some of you could help me out. I am currently trying to generate >> some timetables using matplotlib.pyplot.plot_date, having the time-axis >> on the y-axis. Typically, one would like to read these plots from top to >> bottom, from older to newer items (future on the bottom). Unfortunately, >> the default enumeration of the y-axis is the other way around, and it >> resists my attempts to invert its direction e.g. by changing limits >> using matplotlib.pyplot.ylim (Traceback below). I found a quite old >> entry in stackoverflow which is most probably outdated, at least the >> proposed solution did not work for me... >> ( >> http://stackoverflow.com/questions/5804969/displaying-an-inverted-vertical-date-axis >> ). >> >> Since the longish traceback seems to try to tell me I did not understand >> some kind of important - even trivial - point about those datetime-axis >> maybe some of you came about this problem before? >> >> Thanks, Gerd >> >> P.S.: Traceback after trying to use something like >> "matplotlib.pyplot.ylim(ymax,ymin)": >> > Traceback (most recent call last): >> > File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", line 187, >> > in <module> >> > matplotlib.pyplot.savefig(save_path+'test.png') >> > File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 561, >> > in savefig >> > return fig.savefig(*args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line >> > 1421, in savefig >> > self.canvas.print_figure(*args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", >> > line 2220, in print_figure >> > **kwargs) >> > File >> > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", >> > line 505, in print_png >> > FigureCanvasAgg.draw(self) >> > File >> > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", >> > line 451, in draw >> > self.figure.draw(self.renderer) >> > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, >> > in draw_wrapper >> > draw(artist, renderer, *args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line >> > 1034, in draw >> > func(*args) >> > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, >> > in draw_wrapper >> > draw(artist, renderer, *args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 2086, >> > in draw >> > a.draw(renderer) >> > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, >> > in draw_wrapper >> > draw(artist, renderer, *args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1091, >> > in draw >> > ticks_to_draw = self._update_ticks(renderer) >> > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 945, >> > in _update_ticks >> > tick_tups = [t for t in self.iter_ticks()] >> > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 889, >> > in iter_ticks >> > majorLocs = self.major.locator() >> > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 802, >> > in __call__ >> > self.refresh() >> > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 820, >> > in refresh >> > self._locator = self.get_locator(dmin, dmax) >> > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 896, >> > in get_locator >> > raise ValueError('No sensible date limit could be found in the ' >> > ValueError: No sensible date limit could be found in the >> AutoDateLocator. >> >> >> >> ------------------------------------------------------------------------------ >> Want excitement? >> Manually upgrade your production database. >> When you want reliability, choose Perforce. >> Perforce version control. Predictably reliable. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce. > Perforce version control. Predictably reliable. > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
Tried this before, I think, here is the traceback (it is kind of different) - maybe it tells some of you where to look at IF this should really be a bug: > Traceback (most recent call last): > File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", line 187, > in <module> > matplotlib.pyplot.savefig(save_path+'test.png') > File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 561, > in savefig > return fig.savefig(*args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > 1421, in savefig > self.canvas.print_figure(*args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", > line 2220, in print_figure > **kwargs) > File > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > line 505, in print_png > FigureCanvasAgg.draw(self) > File > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > line 451, in draw > self.figure.draw(self.renderer) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > 1034, in draw > func(*args) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 2086, > in draw > a.draw(renderer) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1091, > in draw > ticks_to_draw = self._update_ticks(renderer) > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 945, > in _update_ticks > tick_tups = [t for t in self.iter_ticks()] > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 889, > in iter_ticks > majorLocs = self.major.locator() > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 802, > in __call__ > self.refresh() > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 820, > in refresh > self._locator = self.get_locator(dmin, dmax) > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 896, > in get_locator > raise ValueError('No sensible date limit could be found in the ' > ValueError: No sensible date limit could be found in the AutoDateLocator. Cheers, Gerd On 16.09.2014 13:45, Joe Kington wrote: > A quick way to do this is ``ax.invert_yaxis()`` (and invert_xaxis() > for the x-axis). That way you preserve auto-scaling and don't wind up > with manually set axis limits. > > What you did should have worked, but ``ymin`` and ``ymax`` are > probably datetime objects. ``ylim`` isn't smart enough to convert > them to the datetime units that matplotlib uses internally. > > Hope that helps! > -Joe > > On Tue, Sep 16, 2014 at 4:00 AM, Gerd Wellenreuther > <Ger...@xf... <mailto:Ger...@xf...>> wrote: > > Dear all, > > I hope some of you could help me out. I am currently trying to > generate > some timetables using matplotlib.pyplot.plot_date, having the > time-axis > on the y-axis. Typically, one would like to read these plots from > top to > bottom, from older to newer items (future on the bottom). > Unfortunately, > the default enumeration of the y-axis is the other way around, and it > resists my attempts to invert its direction e.g. by changing limits > using matplotlib.pyplot.ylim (Traceback below). I found a quite old > entry in stackoverflow which is most probably outdated, at least the > proposed solution did not work for me... > (http://stackoverflow.com/questions/5804969/displaying-an-inverted-vertical-date-axis). > > Since the longish traceback seems to try to tell me I did not > understand > some kind of important - even trivial - point about those > datetime-axis > maybe some of you came about this problem before? > > Thanks, Gerd > > P.S.: Traceback after trying to use something like > "matplotlib.pyplot.ylim(ymax,ymin)": > > Traceback (most recent call last): > > File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", line > 187, > > in <module> > > matplotlib.pyplot.savefig(save_path+'test.png') > > File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", > line 561, > > in savefig > > return fig.savefig(*args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > > 1421, in savefig > > self.canvas.print_figure(*args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", > > line 2220, in print_figure > > **kwargs) > > File > > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > > line 505, in print_png > > FigureCanvasAgg.draw(self) > > File > > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > > line 451, in draw > > self.figure.draw(self.renderer) > > File "C:\Python27\lib\site-packages\matplotlib\artist.py", > line 55, > > in draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > > 1034, in draw > > func(*args) > > File "C:\Python27\lib\site-packages\matplotlib\artist.py", > line 55, > > in draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\axes.py", line > 2086, > > in draw > > a.draw(renderer) > > File "C:\Python27\lib\site-packages\matplotlib\artist.py", > line 55, > > in draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line > 1091, > > in draw > > ticks_to_draw = self._update_ticks(renderer) > > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 945, > > in _update_ticks > > tick_tups = [t for t in self.iter_ticks()] > > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 889, > > in iter_ticks > > majorLocs = self.major.locator() > > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line > 802, > > in __call__ > > self.refresh() > > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line > 820, > > in refresh > > self._locator = self.get_locator(dmin, dmax) > > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line > 896, > > in get_locator > > raise ValueError('No sensible date limit could be found in the ' > > ValueError: No sensible date limit could be found in the > AutoDateLocator. > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce. > Perforce version control. Predictably reliable. > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > <mailto:Mat...@li...> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
I would still consider this to be a bug, though. Gerd, could you please file a bug report? Cheers! Ben Root On Tue, Sep 16, 2014 at 7:45 AM, Joe Kington <jof...@gm...> wrote: > A quick way to do this is ``ax.invert_yaxis()`` (and invert_xaxis() for > the x-axis). That way you preserve auto-scaling and don't wind up with > manually set axis limits. > > What you did should have worked, but ``ymin`` and ``ymax`` are probably > datetime objects. ``ylim`` isn't smart enough to convert them to the > datetime units that matplotlib uses internally. > > Hope that helps! > -Joe > > On Tue, Sep 16, 2014 at 4:00 AM, Gerd Wellenreuther < > Ger...@xf...> wrote: > >> Dear all, >> >> I hope some of you could help me out. I am currently trying to generate >> some timetables using matplotlib.pyplot.plot_date, having the time-axis >> on the y-axis. Typically, one would like to read these plots from top to >> bottom, from older to newer items (future on the bottom). Unfortunately, >> the default enumeration of the y-axis is the other way around, and it >> resists my attempts to invert its direction e.g. by changing limits >> using matplotlib.pyplot.ylim (Traceback below). I found a quite old >> entry in stackoverflow which is most probably outdated, at least the >> proposed solution did not work for me... >> ( >> http://stackoverflow.com/questions/5804969/displaying-an-inverted-vertical-date-axis >> ). >> >> Since the longish traceback seems to try to tell me I did not understand >> some kind of important - even trivial - point about those datetime-axis >> maybe some of you came about this problem before? >> >> Thanks, Gerd >> >> P.S.: Traceback after trying to use something like >> "matplotlib.pyplot.ylim(ymax,ymin)": >> > Traceback (most recent call last): >> > File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", line 187, >> > in <module> >> > matplotlib.pyplot.savefig(save_path+'test.png') >> > File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 561, >> > in savefig >> > return fig.savefig(*args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line >> > 1421, in savefig >> > self.canvas.print_figure(*args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", >> > line 2220, in print_figure >> > **kwargs) >> > File >> > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", >> > line 505, in print_png >> > FigureCanvasAgg.draw(self) >> > File >> > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", >> > line 451, in draw >> > self.figure.draw(self.renderer) >> > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, >> > in draw_wrapper >> > draw(artist, renderer, *args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line >> > 1034, in draw >> > func(*args) >> > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, >> > in draw_wrapper >> > draw(artist, renderer, *args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 2086, >> > in draw >> > a.draw(renderer) >> > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, >> > in draw_wrapper >> > draw(artist, renderer, *args, **kwargs) >> > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1091, >> > in draw >> > ticks_to_draw = self._update_ticks(renderer) >> > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 945, >> > in _update_ticks >> > tick_tups = [t for t in self.iter_ticks()] >> > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 889, >> > in iter_ticks >> > majorLocs = self.major.locator() >> > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 802, >> > in __call__ >> > self.refresh() >> > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 820, >> > in refresh >> > self._locator = self.get_locator(dmin, dmax) >> > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 896, >> > in get_locator >> > raise ValueError('No sensible date limit could be found in the ' >> > ValueError: No sensible date limit could be found in the >> AutoDateLocator. >> >> >> >> ------------------------------------------------------------------------------ >> Want excitement? >> Manually upgrade your production database. >> When you want reliability, choose Perforce. >> Perforce version control. Predictably reliable. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce. > Perforce version control. Predictably reliable. > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
A quick way to do this is ``ax.invert_yaxis()`` (and invert_xaxis() for the x-axis). That way you preserve auto-scaling and don't wind up with manually set axis limits. What you did should have worked, but ``ymin`` and ``ymax`` are probably datetime objects. ``ylim`` isn't smart enough to convert them to the datetime units that matplotlib uses internally. Hope that helps! -Joe On Tue, Sep 16, 2014 at 4:00 AM, Gerd Wellenreuther < Ger...@xf...> wrote: > Dear all, > > I hope some of you could help me out. I am currently trying to generate > some timetables using matplotlib.pyplot.plot_date, having the time-axis > on the y-axis. Typically, one would like to read these plots from top to > bottom, from older to newer items (future on the bottom). Unfortunately, > the default enumeration of the y-axis is the other way around, and it > resists my attempts to invert its direction e.g. by changing limits > using matplotlib.pyplot.ylim (Traceback below). I found a quite old > entry in stackoverflow which is most probably outdated, at least the > proposed solution did not work for me... > ( > http://stackoverflow.com/questions/5804969/displaying-an-inverted-vertical-date-axis > ). > > Since the longish traceback seems to try to tell me I did not understand > some kind of important - even trivial - point about those datetime-axis > maybe some of you came about this problem before? > > Thanks, Gerd > > P.S.: Traceback after trying to use something like > "matplotlib.pyplot.ylim(ymax,ymin)": > > Traceback (most recent call last): > > File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", line 187, > > in <module> > > matplotlib.pyplot.savefig(save_path+'test.png') > > File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 561, > > in savefig > > return fig.savefig(*args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > > 1421, in savefig > > self.canvas.print_figure(*args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", > > line 2220, in print_figure > > **kwargs) > > File > > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > > line 505, in print_png > > FigureCanvasAgg.draw(self) > > File > > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > > line 451, in draw > > self.figure.draw(self.renderer) > > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > > in draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > > 1034, in draw > > func(*args) > > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > > in draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 2086, > > in draw > > a.draw(renderer) > > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > > in draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1091, > > in draw > > ticks_to_draw = self._update_ticks(renderer) > > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 945, > > in _update_ticks > > tick_tups = [t for t in self.iter_ticks()] > > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 889, > > in iter_ticks > > majorLocs = self.major.locator() > > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 802, > > in __call__ > > self.refresh() > > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 820, > > in refresh > > self._locator = self.get_locator(dmin, dmax) > > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 896, > > in get_locator > > raise ValueError('No sensible date limit could be found in the ' > > ValueError: No sensible date limit could be found in the AutoDateLocator. > > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce. > Perforce version control. Predictably reliable. > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Dear all, I hope some of you could help me out. I am currently trying to generate some timetables using matplotlib.pyplot.plot_date, having the time-axis on the y-axis. Typically, one would like to read these plots from top to bottom, from older to newer items (future on the bottom). Unfortunately, the default enumeration of the y-axis is the other way around, and it resists my attempts to invert its direction e.g. by changing limits using matplotlib.pyplot.ylim (Traceback below). I found a quite old entry in stackoverflow which is most probably outdated, at least the proposed solution did not work for me... (http://stackoverflow.com/questions/5804969/displaying-an-inverted-vertical-date-axis). Since the longish traceback seems to try to tell me I did not understand some kind of important - even trivial - point about those datetime-axis maybe some of you came about this problem before? Thanks, Gerd P.S.: Traceback after trying to use something like "matplotlib.pyplot.ylim(ymax,ymin)": > Traceback (most recent call last): > File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", line 187, > in <module> > matplotlib.pyplot.savefig(save_path+'test.png') > File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 561, > in savefig > return fig.savefig(*args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > 1421, in savefig > self.canvas.print_figure(*args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", > line 2220, in print_figure > **kwargs) > File > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > line 505, in print_png > FigureCanvasAgg.draw(self) > File > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > line 451, in draw > self.figure.draw(self.renderer) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > 1034, in draw > func(*args) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 2086, > in draw > a.draw(renderer) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1091, > in draw > ticks_to_draw = self._update_ticks(renderer) > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 945, > in _update_ticks > tick_tups = [t for t in self.iter_ticks()] > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 889, > in iter_ticks > majorLocs = self.major.locator() > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 802, > in __call__ > self.refresh() > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 820, > in refresh > self._locator = self.get_locator(dmin, dmax) > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 896, > in get_locator > raise ValueError('No sensible date limit could be found in the ' > ValueError: No sensible date limit could be found in the AutoDateLocator.