# # Gnuplot version 5.0 demo of multiplot auto-layout capability # # set multiplot layout 3, 1 title "Multiplot layout 3, 1" font ",14" set tmargin 2 set title "Plot 1" unset key plot sin(x)/x # set title "Plot 2" unset key plot 'silver.dat' using 1:2 ti 'silver.dat' # set style histogram columns set style fill solid set key autotitle column set boxwidth 0.8 set format y " " set tics scale 0 set title "Plot 3" plot 'immigration.dat' using 2 with histograms, \ '' using 7 with histograms , \ '' using 8 with histograms , \ '' using 11 with histograms # unset multiplot # # # pause -1 " to continue" reset set multiplot layout 1,3 title "Multiplot layout 1, 3" font ",14" set xtics rotate set bmargin 5 # set title "Plot 1" unset key plot sin(x)/x # set title "Plot 2" unset key plot 'silver.dat' using 1:2 ti 'silver.dat' # set title "Plot 3" set style histogram columns set style fill solid set key autotitle column set boxwidth 0.8 set format y " " set tics scale 0 plot 'immigration.dat' using 2 with histograms , \ '' using 7 with histograms , \ '' using 8 with histograms , \ '' using 11 with histograms # unset multiplot # # # # pause -1 " to continue" reset set multiplot layout 1,3 title "Same plot with a multi-line title\nshowing adjustment of plot area\n to accommodate it" font ",14" set xtics rotate set bmargin 5 # set title "Plot 1" unset key plot sin(x)/x # set title "Plot 2" unset key plot 'silver.dat' using 1:2 ti 'silver.dat' # set title "Plot 3" set style histogram columns set style fill solid set key autotitle column set boxwidth 0.8 set format y " " set tics scale 0 plot 'immigration.dat' using 2 with histograms , \ '' using 7 with histograms , \ '' using 8 with histograms , \ '' using 11 with histograms # unset multiplot pause -1 " to continue" # # Stacked Plot Demo # # Set top and bottom margins to 0 so that there is no space between plots. # Fix left and right margins to make sure that the alignment is perfect. # Turn off xtics for all plots except the bottom one. # In order to leave room for axis and tic labels underneath, we ask for # a 4-plot layout but only use the top 3 slots. # set tmargin 0 set bmargin 0 set lmargin 3 set rmargin 3 unset xtics unset ytics set multiplot layout 4,1 title "Auto-layout of stacked plots\n" font ",12" set key autotitle column nobox samplen 1 noenhanced unset title set style data boxes set yrange [0 : 800000] plot 'immigration.dat' using 3 lt 1 plot 'immigration.dat' using 8 lt 3 set xtics nomirror set tics scale 0 font ",8" set xlabel "Immigration to U.S. by Decade" plot 'immigration.dat' using 21:xtic(1) lt 4 unset multiplot pause -1 " to continue" # # Stacked Plot Demo Continued # # Another option is to expand the (N-1)th plot to fill # additional space # unset xlabel unset xtics unset ytics set multiplot layout 6,1 title "Expanding one of the plots to use additional space\n" font ",12" set key autotitle column nobox samplen 1 noenhanced unset title set style data boxes set yrange [0 : 800000] plot 'immigration.dat' using 3 lt 1 plot 'immigration.dat' using 8 lt 3 plot 'immigration.dat' using 21 lt 4 set xtics nomirror set tics scale 0 font ",8" set xlabel "Immigration to U.S. by Decade" # Override automatic calculation of lower plot boundary set bmargin at screen 0.1 set yrange [0:*] plot 'immigration.dat' using ($3+$8+$21):xtic(1) lt 9 title "Total" unset multiplot pause -1 " to continue" reset # # Set overall margins for the combined set of plots and size them # to generate a requested inter-plot spacing # if (!exists("MP_LEFT")) MP_LEFT = .1 if (!exists("MP_RIGHT")) MP_RIGHT = .95 if (!exists("MP_BOTTOM")) MP_BOTTOM = .1 if (!exists("MP_TOP")) MP_TOP = .9 if (!exists("MP_GAP")) MP_GAP = 0.05 set multiplot layout 2,2 columnsfirst title "{/:Bold=15 Multiplot with explicit page margins}" \ margins screen MP_LEFT, MP_RIGHT, MP_BOTTOM, MP_TOP spacing screen MP_GAP set format y "%.1f" set key box opaque set ylabel 'ylabel' set xrange [-2*pi:2*pi] plot sin(x) lt 1 set xlabel 'xlabel' plot cos(x) lt 2 unset ylabel unset ytics unset xlabel plot sin(2*x) lt 3 set xlabel 'xlabel' plot cos(2*x) lt 4 unset multiplot pause -1 " to continue" reset