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

Reply via email to