forked from gnuplot/gnuplot-old
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rgipgnu
153 lines (128 loc) · 3.29 KB
/
rgipgnu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#!/bin/csh -f
#
# Print gnuplot output on RGIP (Uniplex) format.
set input_files = () # the plot input command files
set lpr_opts = () # options to lpr
set fontsize = ()
# File for plot commands, and for plot output
set TMP=/tmp/plot$$
set outfile="|mail $USER" #mail user if no outputfile
set out=0
set windows = () #windows nr i x-dir and y-dir
onintr cleanup
# default is Imagen mode for Imagen printer; see -p option
set setterm="set terminal imagen"
set usage="usage: rgipgnu [-f fontsize] [-w [winx,winy]] [-t title] [-o outputfile] [-p 'plot command'] [plot-files....]"
# Loop through the command-line arguments.
top:
if ($#argv > 0) then
switch ("$argv[1]")
case - : # print to stdout
set outfile=""
set out=1
shift argv
goto top
case -f?*: # Specify font size
set fontsize = `echo $argv[1] | sed 's/^-f//'`)
shift argv
goto top
case -f: # Specify font size
shift argv
if ($#argv > 0) then
set fontsize = $argv[1]
shift argv
else
echo "Usage: -f fontsize (1-8)"
echo "Type rgipgnu -help for help."
exit (1)
endif
goto top
case -o?*: # Specify output-file of plot
set outfile = `echo $argv[1] | sed 's/^-o//'`
set out=1
shift argv
goto top
case -o: # Specify title of plot
shift argv
if ($#argv > 0) then
set outfile = $argv[1]
set out=1
shift argv
else
echo "Usage: -o outputfile"
echo "Include a 'X' in filename if multiple plots"
echo "Type lasergnu -help for help."
exit (1)
endif
goto top
case -t?*: # Specify title of plot
echo set title \""`echo $argv[1] | sed 's/^-t//'`"\" >> $TMP
shift argv
goto top
case -t: # Specify title of plot
shift argv
if ($#argv > 0) then
echo set title \""$1"\" >> $TMP
shift argv
else
echo "Usage: -t title ..."
echo "Type lasergnu -help for help."
exit (1)
endif
goto top
case -help:
echo "$usage"
exit(1)
case -p?*: # plot-commds
echo "$argv[1]" | sed "s/^-p//" >> $TMP
shift argv
goto top
case -p: # Set the printer, exactly as by itroff.
shift argv
if ($#argv > 0) then
echo "$argv[1]" >> $TMP
shift argv
else
echo "Usage: -P 'plot-commands ...'"
echo "Type rgipgnu -help for help."
exit (1)
endif
goto top
case -w: # Specify split page
shift argv
if ($#argv > 0) then
set windows="[$argv[1]]"
shift argv
else
echo "Usage: -w no_horiz,no_vertical"
echo "Type lasergnu -help for help."
exit (1)
endif
goto top
case -?*:
echo "I do not recognize option $argv[1]."
echo "$usage"
exit (1)
default:
set input_files = ($input_files $argv[1])
shift argv
goto top
endsw
endif
set setterm="set term rgip $fontsize $windows"
# Set up input file
echo "$setterm" > $TMP.plt
echo set output \"$outfile\" >> $TMP.plt
if (-e $TMP) cat $TMP >> $TMP.plt
# If input file is specified AND command line contains plot commands, then
# do command line args first, then plot commands in input file.
#if ( "$input_files" != "" ) then
if ( "$out" ) then
grep -v "set te" $input_files | grep -v "set out" >> $TMP.plt
else
grep -v "set te" $input_files >> $TMP.plt
endif
echo "quit" >> $TMP.plt
gnuplot $TMP.plt < /dev/null
cleanup:
rm -f $TMP*