2016-06-07 6 views
1

Das Folgende ist der Code, den ich verwende und darunter ist meine Ausgabe. Ich möchte alle Leerzeichen zwischen meinen Subplots und den x-Labels entfernen. Ein Beispiel von dem, was ich brauche, ist am Ende in dem Link zur Verfügung gestellt, der einzige Unterschied ist, dass ich alle Boxen von gleicher Größe brauche.Multiplot übereinander gestapelt, vertikal, mit gleicher x Achse in gnuplot

set terminal jpeg 

set output "mul.jpeg" 

set multiplot 

set xr[0:10] 
set ylabel "y" 
set format y "" 
set key off 

set size 1,0.25 

set origin 0.0,0.0; 
set xlabel "x" 
plot sin(x) 
replot sin(2*x) 

set origin 0.0,0.25; 
set format x "" 
plot cos(x) 
replot cos(2*x) 

set origin 0.0,0.50; 
set format x "" 
plot sin(x) 

set origin 0.0,0.75; 
set format x "" 
plot cos(x) 

unset multiplot 

multiplot_example

Was ich eigentlich brauchen so etwas wie folgt aus:

https://inspirehep.net/record/1345236/files/hada_fig2.png

Vielen Dank für jede Hilfe!

+2

Siehe z http://Stackoverflow.com/a/19133002/2604213 – Christoph

+0

Danke @Christoph. Ich habe vermisst, um Margen zu nutzen. – AK02

Antwort

1

Eine Möglichkeit ist multiplot layout zu verwenden, aber es ist ein Streit es schön mit den Etiketten und Tics zu bekommen (wie sie Überlappung gibt oder passen nicht in die Leinwand)

set terminal jpeg 

set output "mul.jpeg" 

set tmargin 0 
set bmargin 0 
set lmargin 1 
set rmargin 1 

unset xtics 
unset ytics 
set multiplot layout 4,1 

set xr[0:10] 
plot sin(x), sin(2*x) 
plot cos(x), cos(2*x) 
plot sin(x) 
plot cos(x) 

unset multiplot 

Die andere Möglichkeit zu setzen, ist die Ränder und/oder Herkunft jedes Grundstück einzeln wie in diesen sO Antworten erklärt: multiplot - stacking 3 graphs on a larger canvas und How do gnuplot margins work in multiplot mode?

2

von gnuplot 5.0 können Sie die Lösung durch @Raphael_Roth von margins auf Null angeboten verwenden, sondern sollte auch die margins Option von multiplot , um Platz für die Tic-Labels und Xlabel am unteren Rand zu lassen.

Z. B,

set tmargin 0 
set bmargin 0 
set lmargin 1 
set rmargin 1 

set multiplot layout 4,1 margins 0.05,0.95,.1,.99 spacing 0,0 

set xrange [0:10] 
unset xtics 
plot sin(x), sin(2*x) 
plot cos(x), cos(2*x) 
plot sin(x) 

set xtics 
plot cos(x) 

unset multiplot 
+0

Es zeigt auf "Margen" in 'setzen Multiplot Layout 4,1 Margen 0,05,0,95, 0,1, .99 Abstand 0,0' sagen "ungültige oder doppelte Option" – AK02

+0

Welche Version von Gnuplot haben Sie? Das funktioniert ab 5.0, ich füge das hinzu, um zu antworten. – Joce

+0

Oh okay. Ich habe 4.6. Danke für die Antwort! – AK02

Verwandte Themen