# PyX — Example: axis/link.py

## Linking one axis to another one

import math from pyx import * c = canvas.canvas() g1 = c.insert(graph.graphxy(width=8)) g1.plot(graph.data.function("y(x)=2*exp(-30*x)-exp(-3*x)", min=0, max=1)) g2 = c.insert(graph.graphxy(width=8, ypos=g1.height+0.5, x=graph.axis.linkedaxis(g1.axes["x"]))) g2.plot(graph.data.function("y(x)=cos(20*x)*exp(-2*x)")) c.writeEPSfile("link") c.writePDFfile("link") c.writeSVGfile("link")

### Description

When plotting two or more related graphs, you sometimes want to have identical axes. This example demonstrates how to achieve this goal in PyX using a `linkedaxis`

.

In order to arrange the two graphs, we first create a canvas `c`

, in which we insert the first graph `g1`

(the lower panel in the output), which contains the graph of a function.

In the next graph `g2`

(the upper panel in the output), we now refer to the x-axis of `g1`

. We do this by creating a `graph.axis.linkedaxis`

instance passing the x-axis of `g1`

as the only argument. The latter is obtained from the axis dictionary `axes`

of the graph.

Note that for a linked axis, PyX automatically turns off the drawing of the axis labels, as you can see in the upper panel. If you do not like this behaviour, you have to pass a different axis painter to the `linkedaxis`

constructor.