The workarounds suggested in this thread does not work? To me, the ordinal thing is not actually a bug, but you need some extra caution to avoid this error happening.
The issue with the label roration is a different matter though. Regards, -JJ On Wed, Jan 13, 2010 at 8:16 AM, Rodribat <rodri...@gmail.com> wrote: > > > Hi matplotlib users! > > Did someone solve the problem of use fig.autofmt_xdate() function with > SubplotHost object? > I googled for it and I found this question only here, without solution. Is > there a bug? Anyone knows > someway to solve this? > > Thank you, > > []'s > > Rodrigo Batista > > > David GUERINEAU wrote: >> >> Hi matplotlib_users ! >> >> I'm David from Berlin, and believe I'm experiencing some problem with the >> SubplotHost module: >> >> I'm generating graphs from hudge databases of cpu and ethernet statistics, >> and I wanted to mix several graphs concerning ethernet statistics in the >> same figure, >> with time as x axis, and bytes-in, bytes-out, packets-in, packets-out and >> number of >> collisions as three different y axes, with three different scale. >> >> I took the inspiration from >> >> for the x axes and from >> >> http://matplotlib.sourceforge.net/examples/axes_grid/demo_parasite_axes2.html >> for the y axes >> >> The following code is a synthetic reproduction of the problem I'm >> experiencing (it is also attached): >> >> from matplotlib.dates import date2num >> from matplotlib import pyplot >> from matplotlib import pylab >> from mpl_toolkits.axes_grid.parasite_axes import SubplotHost >> from datetime import datetime >> >> dates = [ 733581.20833333337, 733581.20837962965, 733581.20842592593, >> 733581.20847222221, 733581.20851851848, >> 733581.20855324075, 733581.20858796302, 733581.2086342593, >> 733581.20866898145, 733581.20871527772] >> rxB = [054L, 130L, 144L, 54L, 36L, 9L, 35L, 43L, 85L, 43L] >> txB = [4L, 9L, 9L, 5L, 4L, 4L, 4L, 5L, 6L, 5L] >> rxP = [77, 228, 251, 112, 77, 42, 75, 97, 147, 91] >> txP = [61, 177, 188, 90, 61, 40, 64, 76, 113, 77] >> col = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] >> >> ethPlot = pyplot >> fig = ethPlot.figure() >> host = SubplotHost(fig, 111) >> >> host.set_ylabel("kB/s") >> host.set_xlabel("Time") >> >> par1 = host.twinx() >> par2 = host.twinx() >> >> par1.set_ylabel("Packets/s") >> >> par2.axis["right"].set_visible(False) >> >> offset = 60, 0 >> new_axisline = par2.get_grid_helper().new_fixed_axis >> par2.axis["right2"] = new_axisline(loc="right", >> axes=par2, >> offset=offset) >> >> par2.axis["right2"].label.set_visible(True) >> par2.axis["right2"].set_label("Collisions") >> >> par1.set_ylim(0, 6000) >> par2.set_ylim(0, 7000) >> >> host.axis([ dates[0], ( dates[0] + 0.041 ), -7000, 7000]) >> par1.axis([ dates[0], ( dates[0] + 0.041 ), -10000, 10000]) >> par2.axis([ dates[0], ( dates[0] + 0.041 ), -700, 700]) >> >> fig.add_axes(host) >> ethPlot.subplots_adjust(right=0.75) >> >> drawRxByt, = host.plot_date(dates, rxB, 'g', tz=None, xdate=True, >> ydate=False, label="kB/s in") >> drawTxByt, = host.plot_date(dates, txB, 'b', tz=None, xdate=True, >> ydate=False, label="kB/s out") >> drawRxPaq, = par1.plot_date(dates, rxP, 'm', tz=None, xdate=True, >> ydate=False, label="packets/s in") >> drawTxPaq, = par1.plot_date(dates, txP, 'y', tz=None, xdate=True, >> ydate=False, label="packets/s out") >> drawColls, = par2.plot_date(dates, col, 'r', tz=None, xdate=True, >> ydate=False, label="collisions") >> >> fig.autofmt_xdate() >> >> host.set_xlabel("Time") >> host.set_ylabel("kB/s") >> par1.set_ylabel("Packets/s") >> >> host.legend() >> >> host.axis["left"].label.set_color(drawRxByt.get_color()) >> host.axis["left"].label.set_color(drawTxByt.get_color()) >> par1.axis["right"].label.set_color(drawRxPaq.get_color()) >> par1.axis["right"].label.set_color(drawtxPaq.get_color()) >> par2.axis["right2"].label.set_color(drawColls.get_color()) >> >> ethPlot.draw() >> pylab.savefig( './test.png', dpi=(640/8)) >> >> >> >> >> Maybe I do something wrong somewhere here, but other scripts that do the >> same for a single graphwork like a charm. So it's not a question of >> dataType >> or something. To compare with a working code, here is the first version of >> the fuction that does the job on single graphs without any problem : >> >> def drawEthGraph(filename, hdates, rxP, txP, rxB, txB, col): >> ethPlot = pyplot >> fig = ethPlot.figure() >> ax = fig.add_subplot(111) >> ax.plot_date(hdates, rxP, 'g', None, True, False) >> ax.plot_date(hdates, txP, 'b', None, True, False) >> ax.plot_date(hdates, rxB, 'g', None, True, False) >> ax.plot_date(hdates, txB, 'b', None, True, False) >> ax.plot_date(hdates, col, 'r', None, True, False) >> ax.axis([ hdates[0], ( hdates[0] + 0.042 ), -7000, 7000]) >> ax.grid(True) >> fig.autofmt_xdate() >> pylab.savefig( filename, dpi=(640/8)) >> >> >> I don't think I understand the whole process of generation, but I thought >> at >> least at the beginnig I was having a good feeling with this API. >> Now I wonder how to go around this. Maybe you'll have an idea :-o >> >> Best regards >> >> DvD >> >> from matplotlib.dates import date2num >> from matplotlib import pyplot >> from matplotlib import pylab >> from mpl_toolkits.axes_grid.parasite_axes import SubplotHost >> from datetime import datetime >> >> dates = [ 733581.20833333337, 733581.20837962965, 733581.20842592593, >> 733581.20847222221, 733581.20851851848, >> 733581.20855324075, 733581.20858796302, 733581.2086342593, >> 733581.20866898145, 733581.20871527772] >> rxB = [054L, 130L, 144L, 54L, 36L, 9L, 35L, 43L, 85L, 43L] >> txB = [4L, 9L, 9L, 5L, 4L, 4L, 4L, 5L, 6L, 5L] >> rxP = [77, 228, 251, 112, 77, 42, 75, 97, 147, 91] >> txP = [61, 177, 188, 90, 61, 40, 64, 76, 113, 77] >> col = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] >> >> ethPlot = pyplot >> fig = ethPlot.figure() >> host = SubplotHost(fig, 111) >> >> host.set_ylabel("kB/s") >> host.set_xlabel("Time") >> >> par1 = host.twinx() >> par2 = host.twinx() >> >> par1.set_ylabel("Packets/s") >> >> par2.axis["right"].set_visible(False) >> >> offset = 60, 0 >> new_axisline = par2.get_grid_helper().new_fixed_axis >> par2.axis["right2"] = new_axisline(loc="right", >> axes=par2, >> offset=offset) >> >> par2.axis["right2"].label.set_visible(True) >> par2.axis["right2"].set_label("Collisions") >> >> par1.set_ylim(0, 6000) >> par2.set_ylim(0, 7000) >> >> host.axis([ dates[0], ( dates[0] + 0.041 ), -7000, 7000]) >> par1.axis([ dates[0], ( dates[0] + 0.041 ), -10000, 10000]) >> par2.axis([ dates[0], ( dates[0] + 0.041 ), -700, 700]) >> >> fig.add_axes(host) >> ethPlot.subplots_adjust(right=0.75) >> >> drawRxByt, = host.plot_date(dates, rxB, 'g', tz=None, xdate=True, >> ydate=False, label="kB/s in") >> drawTxByt, = host.plot_date(dates, txB, 'b', tz=None, xdate=True, >> ydate=False, label="kB/s out") >> drawRxPaq, = par1.plot_date(dates, rxP, 'm', tz=None, xdate=True, >> ydate=False, label="packets/s in") >> drawTxPaq, = par1.plot_date(dates, txP, 'y', tz=None, xdate=True, >> ydate=False, label="packets/s out") >> drawColls, = par2.plot_date(dates, col, 'r', tz=None, xdate=True, >> ydate=False, label="collisions") >> >> fig.autofmt_xdate() >> >> host.set_xlabel("Time") >> host.set_ylabel("kB/s") >> par1.set_ylabel("Packets/s") >> >> host.legend() >> >> host.axis["left"].label.set_color(drawRxByt.get_color()) >> host.axis["left"].label.set_color(drawTxByt.get_color()) >> par1.axis["right"].label.set_color(drawRxPaq.get_color()) >> par1.axis["right"].label.set_color(drawtxPaq.get_color()) >> par2.axis["right2"].label.set_color(drawColls.get_color()) >> >> ethPlot.draw() >> pylab.savefig( './test.png', dpi=(640/8)) >> >> >> >> ------------------------------------------------------------------------------ >> >> _______________________________________________ >> Matplotlib-users mailing list >> Matplotlib-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > > -- > View this message in context: > http://old.nabble.com/%22Ordinal-must-be-%3E%3D-1%22-with-SuplotHost-and-dates-tp24305444p27144728.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users