Hello Benedikt,

I'm not sure, that my solution is the best, but in principle, the following
procedure should work:
 - you create the graph with a single key (graphxy.graphxy(
key=graph.key.key() )
 - you create 'reference-curves' OUTSIDE the plot-area, which have the
appropriate properties (e.g. solid, dotted,... and red, green,...) with the
respective titles - this will create your key
 - in each 'standard' plot-command, you use the title None (title=None) -
with that, the curves do not appear in the key.

So in general, I would try something like:

from pyx import *
col1 = [style.linestyle.solid]
col2 = [style.linestyle.dotted]
row1 = [color.rgb.red]
row2 = [color.rgb.blue]
g = graph.graphxy( width=8,
                   x=graph.axis.linear(min=0, max=2),
                   y=graph.axis.linear(min=0, max=2),
                   key=graph.key.key(pos="br"))
g.plot( graph.data.function("y(x)=20", title=r"**2" ),
    [graph.style.line( col1 )] )
g.plot( graph.data.function("y(x)=20", title=r"**4"),
    [graph.style.line( col2 )] )

g.plot( graph.data.function("y(x)=20", title=r"x(y)"),
    [graph.style.line( row1 )] )
g.plot( graph.data.function("y(x)=20", title=r"y(x)"),
    [graph.style.line( row2 )] )

g.plot( graph.data.function("y(x)=x**2", title=None),
    [graph.style.line( col1 + row1 )] )
g.plot( graph.data.function("y(x)=x**4", title=None),
    [graph.style.line( col2 + row1 )] )
g.plot( graph.data.function("x(y)=y**2", title=None),
    [graph.style.line( col1 + row2 )] )
g.plot( graph.data.function("x(y)=y**4", title=None),
    [graph.style.line( col2 + row2 )] )

g.writeEPSfile("test")

HTH,

Axel


On Tue, Oct 28, 2008 at 11:42 AM, Benedikt Koenig <[EMAIL PROTECTED]> wrote:

> Hi,
>
> is there a way to show keys not for every single graph, but for groups
> of graphs? For example, I want a single key, that states that all the
> solid lines use VAR[0,:] and another key for all the dashed lines, that
> use VAR[1,:]. Then two more keys should show, that the red lines are for
> VAR[:,0] and the green ones for VAR[:,1]. So if I have 25 combinations
> VAR_1A ... VAR_5E I'd like to have only 10 key instead of 25
>
> An example:
>
> instead of:
> solid red = VAR[0,0]
> dashed red = VAR[1,0]
> dotted red = VAR[2,0]
> ...
> solid green = VAR[0,1]
> dashed green = VAR[1,1]
> dotted green = VAR[2,1]
> ...
>
> I want something like:
> red = VAR[:,0]
> green = VAR[:,1]
> solid = VAR[0,:]
> dashed = VAR[1,:]
> dotted = VAR[2,:]
>
> Any hints are greatly appreciated.
> benedikt
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> PyX-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/pyx-user
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
PyX-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pyx-user

Reply via email to