plot a fuction in the same graph with different arguments next to each other
<p>I have a matrix H, that can take 3 directional arguments. I want to plot the eigenvalues (just think of it as function) with one set of arguments &amp; next to it - still in the same graph - the function with another set of arguments.
This is used in physics very often i.e. when plotting band structures.
It looks like: </p>

<p><a href="http://i.stack.imgur.com/gvJED.png" rel="nofollow"><img src="http://i.stack.imgur.com/gvJED.png" alt="enter image description here"></a></p>

<p>This is not just changing 0 to Gamma and 2pi (lattice constant =1) to X, but really doing mutlipleplots next to each other in one plot. </p>

<p>Edit:</p>

<p>I have no measured data--> this is all calculated. I have a np.matrix (Hamiltonian - 8x8) that depends on 7 arguments, the only ones I change here are that of the directions.
g=Gamma, X, ... are positions (I know the directions of them.) 
Each plot is generated like this:</p>

<pre><code>fig4=plt.figure()
LG=fig4.add_subplot(111)
for val in np.linspace(-np.pi/a, 0, 1000):
   LG.scatter([val]*8, H(val, val , val, -15.2, -s*10.25, 19.60, -5.30))
plt.grid()
plt.title(r"$L-\Gamma$")
plt.xlabel(r"$k$ in high symmetry points")
plt.xticks([-C*0.5, 0.], ["L", "$\Gamma$"])
plt.ylabel("energy/eV")
plt.show()
</code></pre>

<p>I included the physics, so that physicians understand it easier. In case they are not many here:</p>

<p>I have a function plot1 and plot2 &amp; I want to append plot2 horizontally in one graph with same y-axes but different x- axes. Like in the picture(from g-X is one function, from X to W another and so on).</p>

<p>Edit2: The answer of TobyD &amp; pathoren made it possible to plot a function w/ several arguments next to each w/ free arguments.
I think that my problem is in principle solveable by this, but since I don't have functions but a matrix and want to calculate eigenvalues and have more than one directional argument it's complicated. I manage to produce a plot I only want to cut horizontally together (but not like paint, but with one x-axes description).</p>

<p>Edit3: Thank you pathoren  &amp; TobyD for your help. The easiest way was just to change the argument x+something, x-something, now I have more than way, which can  proof usefull eventually. </p>

<p><a href="http://i.stack.imgur.com/KqMN9.png" rel="nofollow">final answer</a></p>

<p>Below is a script where a function <code>f</code> takes 3 parameters <code>a, b, c</code>.  The x-values are split into three different regimes, <code>x1, x2, x3</code>, with corresponding function values <code>f1, f2, f3</code>.  At some breakpoints (defined by <code>x_ticks</code>) there are lines drawn, and the xticks are only shown for those points.  The xlabels are set by <code>x_ticklabels</code>, only at <code>x_ticks</code>-position.</p>

<pre><code>    import numpy as np
import matplotlib.pyplot as plt

def f(x, a, b, c):
    return a*x**2 + b*x + c

x1 = np.linspace(0, 10, 100)
f1 = f(x1, 1, 2, 3)
x2 = np.linspace(10, 20, 100)
f2 = f(x2, 3, -2, 0)
x3 = np.linspace(20, 50, 100)
f3 = f(x3, -1, 2, 1)

fig, ax = plt.subplots(1, 1)

ax.plot(x1, f1, label='f1')
ax.plot(x2, f2, label='f2')
ax.plot(x3, f3, label='f3')
x_ticks = [10, 20, 50]
x_ticklabels = ['K', 'L', 'M']
ax.vlines(x_ticks, ax.get_ylim()[0], ax.get_ylim()[1])
ax.set_xticks(x_ticks)
ax.set_xticklabels(x_ticklabels)
ax.set_yticks([])

plt.show()
</code></pre>

<p><a href="http://i.stack.imgur.com/TIwwl.png" rel="nofollow"><img src="http://i.stack.imgur.com/TIwwl.png" alt="enter image description here"></a></p>

python matplotlib plot physics axes