Reputation: 73
I want to do multiplot or subplot in GNUplot. I have two files that has x1, y1 in two files. I want to have two graphs plotted in GNUplot like a subplot. Suppose I have the following two files
Plot1
12:14:38 10
12:15:38 11
12:16:38 12
12:17:38 15
and another file
Plot2
12:17:38 15
12:18:38 11
12:19:38 12
12:20:38 15
I want to generate two graphs for these two values. How do i do it using GNUplot. Can anyone please help me out.
Thanks
Upvotes: 6
Views: 28651
Reputation: 15930
If I understand what you are asking, here is the basic syntax:
set term png size 600,400
set output 'plot.png'
set multiplot # engage multiplot mode
set size 1.0,1.0 # sets the size of the first plot
set xdata time ## these three lines control how gnuplot
set timefmt '%H:%M:%S' ## reads and writes time-formatted data.
set format x '%H:%M:%S' ##
plot 'data1' u 1:2 # plot the first data set
set size 0.4,0.4 # set the size of the second plot in plot units
set origin 0.15,0.5 # set the origin for the second plot in plot units
plot 'data2' u 1:2 # plot the second data set
This will plot the second data set as a subfigure.
To make two plots in a grid, you can use set multiplot layout
:
set term png size 600,300
set output 'plot.png'
set multiplot layout 1,2 # engage multiplot mode
#set size 1.0,1.0 # sets the size of the first plot
set xdata time ## these three lines control how gnuplot
set timefmt '%H:%M:%S' ## reads and writes time-formatted data.
set format x '%H:%M:%S' ##
set xtics 120 # make time spacing of 2 minutes
plot 'data1' u 1:2 # plot the first data set
#set size 0.4,0.4 # set the size of the second plot in plot units
#set origin 0.15,0.5 # set the origin for the second plot
plot 'data2' u 1:2 # plot the second data set
unset multiplot
Upvotes: 13