Andre Noted that months.py only works with PyX 0.9.
If you run it against 0.81 you will get the errors you report.

T

On Fri, 12 May 2006 17:28:23 +0100
"Paul Smith" <[EMAIL PROTECTED]> wrote:

> 
> On 5/11/06, Andre Wobst <[EMAIL PROTECTED]> wrote:
> > let me answer your first question here only.
> >
> > > One of the charts I need to create is a stacked bar graph for the
12
> > > months of the year. I want to label my x-axis with the first
letter of
> > > the month for each month. However when I do this, the duplicate
letters
> > > get removed. How do I get around this?
> >
> > There is a simple and serious answer: You can't. All you can do is
to
> > change the way the data is shown, but not the way the data is
> > processed (for the later you *need* different values for each bar).
> >
> > Basically there are at least three options comming to mind.
> >
> > 1) Currently the names using for identifying the bars are also used
as
> > the bar names by the bar painter. We could have an additional
> > translation step in between there. (BTW we had that ... called
xnames
> > IIRC in earlier versions, where the bars internally have always been
> > integers. Now they can be of any type and thus the additional
> > translation was removed.) At the moment we don't have such an
> > translation step and thus this option is not available.
> >
> > 2) We could modify the painter to different names. This is similar
to
> > the previous idea, but it would just affect the painter. Better and
> > easier to implement ontop what we have. But still: not available.
> >
> > 3) You could not use the bar painter to write the titles for the
bars,
> > but the subaxes. Just set a proper title and painter there and
you're
> > done. So now: How to access the subaxes. Well, you can pass a
> > predefined list (or dictionary in the upcomming PyX 0.9) to the
> > subaxes attribute of the bar axis. Enclosed you find two solutions.
> > The dictionary solution, which I like better, works on PyX 0.9 only.
> >
> > Note that the option 3 has limitations: Since all subaxes paint
their
> > title independently from each other, the baseline might differ.
> > However, for uppercase letters on usual fonts this is should not
harm.
> > (In case you don't really understand what I mean, change month[0] to
> > month[0].lower() ... then it becomes totally ugly ... of course one
> > could work around that by some TeX ticks like vphantom, which is BTW
> > similar to the equalalign features of the axis painters, but there
the
> > alignment is adjusted at the painters, i.e. within PyX.)
> >
> > Overall you see, that this is far from optimal. I think we should
add
> > a names-feature to the bar painter, i.e. implement option 2. It
would
> > solve the problem without any drawbacks and it would be some
internal
> > feature of the painter only (much better than option 1).
> >
> > So far I hope this is of any help for you. I'm not sure whether
> > you're really interested in the underlying problem. On the other
hand
> > you may just want to take the code and use this. Fine as well ...
> 
> I have just tried your months.py, but getting errors:
> 
> $ python months.py
> Traceback (most recent call last):
>   File "months.py", line 9, in ?
>     g = graph.graphxy(width=8, x=graph.axis.bar(subaxes=subaxes,
> painter=graph.axis.painter.bar(nameattrs=None)))
>   File "/usr/lib/python2.4/site-packages/pyx/graph/graph.py", line
> 435, in __init__
>     self.initaxes(axes)
>   File "/usr/lib/python2.4/site-packages/pyx/graph/graph.py", line
> 362, in initaxes
>     self.axes[key] = axis.anchoredaxis(aaxis, key)
>   File "/usr/lib/python2.4/site-packages/pyx/graph/axis/axis.py", line
> 467, in __init__
>     self.data = axis.createdata(errorname)
>   File "/usr/lib/python2.4/site-packages/pyx/graph/axis/axis.py", line
> 310, in createdata
>     self.addsubaxis(data, name, subaxis, errorname)
>   File "/usr/lib/python2.4/site-packages/pyx/graph/axis/axis.py", line
> 314, in addsubaxis
>     subaxis = anchoredaxis(subaxis, "%s, subaxis %s" % (errorname,
name))
>   File "/usr/lib/python2.4/site-packages/pyx/graph/axis/axis.py", line
> 467, in __init__
>     self.data = axis.createdata(errorname)
> AttributeError: 'str' object has no attribute 'createdata'
> $
> 
> Paul
> 
> 
> -------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services,
security?
> Get stuff done quickly with pre-integrated technology to make your job
easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache
Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
> _______________________________________________
> PyX-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/pyx-user


-- 
Trevor Wiens


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
PyX-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pyx-user

Reply via email to