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

[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 <lists@benair.net> 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

PyX-user@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/pyx-user