muplot(1) plot a multi-curve figure from multiple data by using Gnuplot


muplot [,OPTION/]... [,STYLE/] [,FILE/] [,AXES/] [,FILE/] [,AXES/] ...


Muplot is a simple, non-interactive gnuplot-wrapper to plot a multi-curve figure from multiple data (files). It can produce PostScript, PDF, PNG or JPEG output file formats.


display help
display short help
print program version number
create PostScript-file
send PostScript output to STDOUT (the same as '-s -o -')
create PNG-file
create JPEG-file
create PDF-file (requires the gnuplot "pdfcairo" driver)
don't set the terminal to 'x11' (use gnuplot's default instead)
reload data files continuously (default 8640:10)
-r <N:dt>
reload data files continuously by the specified config values
-c <cmd>
execute gnuplot command(s) (using the default plot style)
monochrome plot (valid for PostScript or PDF)
set plot size to 800x600 (valid for PNG and JPEG)
base name of the output file
quiet mode (all messages except errors to be suppressed)
-F <str>
input-data field separator (default is a single space character)
ignore local command file './.muplotset'
-I <file>
specify an alternative command file instead of './.muplotset'
do not sort the file list
-T <dir>
use this directory for temporary/working output files


lines and points
circle points
various points (types)
do not plot keys (skip file names lables)
errorbars - default used columns are 1:2:3 (x:y:yerror)
fields with arrows; The data file has a special format in this case. Use 'prefield' to prepare such data files.
date/time series with the specified format; For example: dt="%H:%M.%S@%H:%M" where the first part, in front of "@", defines the data format, and the second part defines the format that will be used for tic labels. Here, hours and minutes are separated by `:', respectively minutes and seconds by `.' Another example is date and time stamp: dt="%Y-%m-%d %H:%M:%S"
plot 3-d data using 1:2:3
user specified plot style format (as defined in Gnuplot); For example: u="points pointtype 2 pointsize 3"; To see the present terminal and palette capabilities of gnuplot use the command 'muplot -c test'.
user specified setting (as defined in Gnuplot); For example: s="logscale x"


columns in the file defining the x/y-axes of the curve(s); Default are 1:2 or 1:2:3 for data with errors. In case that only one column is provided the default axes are 0:1 - the x-axis will be a simple index then.

File(s) could be a single file name whereas '-' means <stdin>, many files enclosed in '' or "" like "file1 file2 file3", or any valid shell pattern as for example "*.dat". The files '$HOME/.muplotset' and './.muplotset', if existing, will be included at the beginning of the gnuplot script. The command block between "#BEGIN" and "#END" in those files will be pasted to the end of the script. If you want that the global '$HOME/.muplotset' is ignored, create in your local directory a file named '.muplotset.noglobal'. In case you want to view the output, define the env variable MUPLOT_VIEWER and export it, for example:

MUPLOT_VIEWER="xpdf -z page"; export MUPLOT_VIEWER

Then the program will prompt you to view the plot, and after confirmation the viewer will present the graphics. If the postscript file format is chosen ('-s' option), and MUPLOT_VIEWER is not defined, the viewer is preset to 'gv', and per default you are prompted to view the output. To disable this behavior use the command "unset MUPLOT_VIEWER".


1) On X-terminal view a multi-curve plot of all data-files with extension 'dat'
muplot "*.dat"

2) Print a sinus curve in black-and-white color on a PostScript-printer

muplot -m -S -c "set title 'Function f(x)=sin(x)'; plot sin(x);" | lpr

3) Plot data from file "example.dat" using columns 1:2, 3:4, and 3:5 as x/y-axes in the multi-curve plot; a PostScript-file with the name "" is automatically created.

muplot -s example.dat 1:2,3:4-5

4) Create graphics in PDF-format reading data from file "example.1.dat" (columns 1:2), and from file "example.2.dat" (columns 3:4)

muplot -p lp example.1.dat 1:2 example.2.dat 3:4

5) View file where the first column is data, and the third and forth columns are date of the form 'yyyy-mm-dd' and time in the form 'hh:mm:ss'

cat example_counts_per_second.dat | muplot dt="%Y-%m-%d %H:%M:%S" - 3:1

6) Plot 3-dimensional data from file "example_3d.dat" using the 1,3, and 5-th data columns with dots-plot-style, enabling grid, setting the xrange to [0:10], disabling keys and defining a plot-title

muplot nk g d 3d s="xrange [0:10]" s="title 'This is a 3-d plot'" example_3d.dat 1:3:5

7) Replot data 1000 times every 5 seconds and write temporary created files in the '/tmp' directory; This scenario is useful in case of growing or otherwise changing over time data-file

muplot -T /tmp -r 1000:5 example.dat


Report bugs to <[email protected]>


Copyright © 1996-2009, 2011-2014 Dimitar Ivanov

License: GNU GPL version 3 or later <>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.