Xmgrace
Revision as of 16:26, 21 October 2020 by Bugman (talk | contribs) (removed Category:Software; added Category:Data visualisation software using HotCat)
Grace, also known as Xmgrace, ACE/gr, and Xvgr, is a free WYSIWYG 2D graph plotting tool used by relax grace user functions to provide the highest quality 2D graphing capabilities.
Contents
xmgrace
xmgrace font options
Homepage with symbol font conversion from Keyboard letter to greek symbol.
make font oblique: \q Test \Q
greek: use \x w \B
super: use \S letters \N
sub: use \s letters \N
new line: \n
\0 normal
\1 Bold
\2 Italics
\4 Roman
\8 Greek Font
Examples:
F\sX\N(\xe\f{}) = sin(\xe\f{})\#{b7}e\S-X\N\#{b7}cos(\xe\f{})
Partial derivative of energy with respect to lambda: \x\c6\CE/\c6\C\xl
Infinity symbol: \x\c%
Angstrom: \cE\C
\qCPMG pulse train frequency \Q (Hz)
\qSpin-lock field strength \xn\B\s1\N\Q (Hz)
\qEffective field in rotating frame \xw\B\seff\N\Q (rad.s\S-1\N)
\qRotating frame tilt angle \xq\B\Q (rad)
\qR\s2,eff\N\Q (rad.s\S-1\N
\qR\s1\xr\B\N\Q (rad.s\S-1\N)
\qR\\s2\N\Q (rad.s\S-1\N)
h\v{0.65}\h{-0.5}\z{0.6}_\v{}\h{}\z{}
\1x\h{-0.2}\v{0.7}.\v{}\h{}
\1x\h{-0.2}\v{0.7}.\v{}\h{}
Manually Convert to png/eps for one xmgrace file
Add this to the end of the xmgrace file
For PNG
#Print out to @PRINT TO "/sbinlab2/tlinnet/output.png" @HARDCOPY DEVICE "PNG" @DEVICE "PNG" FONT ANTIALIASING on # Make white background transparent #@DEVICE "PNG" OP "transparent:on" @DEVICE "PNG" OP "compression:9" @PRINT
For EPS
#Print out to @PRINT TO "/sbinlab2/tlinnet/output.eps" @HARDCOPY DEVICE "EPS" @DEVICE "EPS" OP "level2" @PRINT
Then issue an "HARDCOPY" with xmgrace
xmgrace -hardcopy xmgracefile.agr
In bash
bash ; for agr in `ls *.agr`;do bn=`basename ${agr} .agr`;gracebat ${agr} -hdevice PNG -printfile ${bn}.png;done
Script to make both png and eps for a folder with xmgrace files
#!/bin/bash
for gracefile in *.agr; do
filename=$(basename "$gracefile")
extension="${filename##*.}"
filename="${filename%.*}"
TMPPNG=${filename}_png.tmp
cat $gracefile > $TMPPNG
echo "#Print out to" >> $TMPPNG
echo '@PRINT TO "'"${PWD}/${filename}.png"'"' >> $TMPPNG
echo '@HARDCOPY DEVICE "PNG"' >> $TMPPNG
echo '@DEVICE "PNG" FONT ANTIALIASING on' >> $TMPPNG
echo '# Make white background transparent' >> $TMPPNG
echo '#@DEVICE "PNG" OP "transparent:on"' >> $TMPPNG
echo '@DEVICE "PNG" OP "compression:9"' >> $TMPPNG
echo '@PRINT' >> $TMPPNG
xmgrace -hardcopy $TMPPNG
TMPEPS=${filename}_eps.tmp
cat $gracefile > $TMPEPS
echo "#Print out to" >> $TMPEPS
echo '@PRINT TO "'"${PWD}/${filename}.eps"'"' >> $TMPEPS
echo '@HARDCOPY DEVICE "EPS"' >> $TMPEPS
echo '@DEVICE "EPS" OP "level2"' >> $TMPEPS
echo '@PRINT' >> $TMPEPS
xmgrace -hardcopy $TMPEPS
echo "$filename $extension"
#eps2png -resolution 200 $TMPEPS
#epstopdf $TMPEPS
done
Batch eps to PNG/PDF conversion
bash ; for epsfile in *.eps; do eps2png -resolution 200 $epsfile; epstopdf $epsfile; echo "Making pdf/png: $epsfile"; done