Annotation of OpenXM_contrib/gnuplot/0BUGS, Revision 1.1
1.1 ! maekawa 1:
! 2: 1. The hidden line algorithm is not perfect. We have put in an option
! 3: to draw both sides of the surface in the same linetype, thus avoiding
! 4: this problem completely. We should put in an option of not drawing
! 5: the back at all.
! 6:
! 7: 2. In the Atari version, windows are not currently supported. This
! 8: means gnuplot 3.4 will not run with MultiAES. We hope to correct
! 9: this shortly in gpcontrb.tar.z.
! 10: [Status of this bug: unknown]
! 11:
! 12: 3. autoscale writeback is probably broken. One problem is that
! 13: the range is written back before the range is extented to a
! 14: whole number of tics. eg if data is 0.9->10.1, that is what
! 15: gets written back, but the plot is 0 -> 11. If autoscale
! 16: is switched off, you do get 0.9->10.1 since switching off
! 17: autoscale switches off the extend-to-tic-multiple stuff.
! 18:
! 19: Also, writeback with log scales writes back the log of the min/max
! 20: [Status: unknown]
! 21:
! 22: 4. m[]tics bug when plotting time data
! 23: There is an initialization problem when plotting time data with an
! 24: interval calculation; an inordinate number of m[]tics are automatically
! 25: drawn, e.g.,
! 26:
! 27: set xdata time; set ydata time
! 28: set timefmt "%d/%m"
! 29: set format x "%b %d"
! 30: set xrange ["01/12":"06/12"]
! 31: set xtics "01/12", 172800, "05/12"
! 32: plot x
! 33:
! 34: The problem can be avoided by initializing via a plot before the
! 35: interval calculation:
! 36: [...]
! 37: set xrange ["01/12":"06/12"]
! 38: plot x
! 39: set xtics "01/12", 172800, "05/12"
! 40: plot x
! 41:
! 42: 5. "\n" does not work in the format for the tics in splot
! 43:
! 44: 6. Error bars don't work in polar plots
! 45:
! 46: 7. arrows and labels are not clipped (2D and 3D)
! 47:
! 48: 8. contour line clipping of 3D data plots
! 49: The following tips for plotting contours were kindly supplied by Don Taber
! 50: <dtaber@blackrat.risc.rockwell.com> and Paul Halsema <phalsema@harris.com>.
! 51:
! 52: Splotting gives little control over the appearance of contour lines.
! 53: You can do a better job by extracting the contours with the table
! 54: terminal and then plotting the resulting file. You should 'set
! 55: nosurface' to eliminate the surface isolines from the file generated
! 56: by the table terminal.
! 57:
! 58: All the contours will be written to a single file. To plot them with
! 59: different line styles, you can use one of several approaches. The
! 60: simplest is to use the 'index' feature. This has the advantage of
! 61: using only gnuplot internals. Other approaches use a utility
! 62: such as sed, awk, or perl to either break up the file or generate
! 63: a more sophisticated command file for plotting it.
! 64:
! 65: The following gnuplot script extracts circular contours from a
! 66: paraboloid of revolution and plots the resulting file. It then
! 67: uses 'index' to provide different linestyles. Finally, it runs
! 68: an awk script to generate a command file for plotting the file.
! 69:
! 70: set cntrparam levels discrete 20, 40, 60
! 71: set contour base
! 72: set nosurface
! 73: splot x**2 + y**2
! 74: set term table
! 75: set output 'circles'
! 76: replot
! 77: set term linux # or whatever your original term was
! 78: set output
! 79:
! 80: plot 'circles' # all one linestyle
! 81:
! 82: plot 'circles' index 0 t '20', 'circles' index 1 t '40', 'circles' index 2 t '60' # different linestyles
! 83:
! 84: !awk -f contr.awk circles > circles.gnu
! 85: load 'circles.gnu'
! 86:
! 87: Where the gawk script (contr.awk) contains the following:
! 88:
! 89: #!/usr/bin/nawk -f
! 90: # ^---Replace with your favorite variant
! 91: # courtesy of Paul Halsema (phalsema@harris.com)
! 92: # and Emmanuel Bigler <bigler@jsbach.univ-fcomte.fr>
! 93: #
! 94: # This script operates on a file generated by a gnuplot splot command with
! 95: # a table terminal type. The output should be redirected to another file
! 96: # which can then be loaded into gnuplot. This results in a contour plot
! 97: # that is more appealing for presentation purposes. Providing the optional
! 98: # parameter n will put a label on the contour at every nth point.
! 99: #
! 100: # Sample usage (in gnuplot):
! 101: # !nawk -f contr.awk -v n=12 circles > circles.gnu
! 102: # load 'circles.gnu'
! 103: #
! 104: # If you make this script executable and place it somewhere in your path,
! 105: # then it can be called directly as in:
! 106: #
! 107: # !nawk -f contr.awk -v n=12 circles > circles.gnu
! 108: # load 'circles.gnu'
! 109:
! 110: BEGIN {
! 111: fmt1="%s \\\n index %d title '%s'";
! 112: fmt2="%s, \\\n '' index %d title '%s'";
! 113: # Add any gnuplot commands that you always want performed here
! 114: print "set key out";
! 115: print "set key title '" FILENAME "'";
! 116: print "set data style lines";
! 117: print
! 118: # End of general commands section
! 119: pltcmd="plot '"FILENAME"'";
! 120: }
! 121:
! 122: {
! 123: # Generate a fragment of the plot command for each contour
! 124: if ($2=="Contour")
! 125: {
! 126: split($3,indx,",");
! 127: titl=$5;
! 128: if ($3=="0,") { pltcmd=sprintf(fmt1, pltcmd, indx[1], titl); }
! 129: else { pltcmd=sprintf(fmt2, pltcmd, indx[1], titl); }
! 130: }
! 131: # Add labels at every nth point along a contour
! 132: if( (n!=0) && ($0 !~ /^\#/) && ($0 !~ /^$/) && ((NR%n)==1))
! 133: {printf("set label '%s' at %f,%f center\n",$3,$1,$2);}
! 134: }
! 135:
! 136: END {
! 137: # Write out the entire plot command
! 138: printf "\n%s\n", pltcmd;
! 139: }
! 140:
! 141: 9. There is an initialization problem of when plotting time data with an
! 142: interval calculation; an inordinate number of m[]tics are automatically
! 143: drawn, e.g.,
! 144:
! 145: set xdata time; set ydata time
! 146: set timefmt "%d/%m"
! 147: set format x "%b %d"
! 148: set xrange ["01/12":"06/12"]
! 149: set xtics "01/12", 172800, "05/12"
! 150: plot x
! 151:
! 152: The problem can be avoided by initializing via a plot before the
! 153: interval calculation:
! 154: [...]
! 155: set xrange ["01/12":"06/12"]
! 156: plot x
! 157: set xtics "01/12", 172800, "05/12"
! 158: plot x
! 159:
! 160: 10. (Not really a bug)
! 161: Terminal drivers which are accompanied by external executables
! 162: could cause some trouble: their subprocesses (started by fork() e.g.)
! 163: may inherit handles to open file(s) from the main process.
! 164: If the filesystem doesn't allow deleting open files these file are
! 165: locked for the time the terminal driver is running.
! 166:
! 167: 11. OS/2 gcc optimiser bug
! 168: The following gnuplot commands demonstrate a bug in gcc's optimiser
! 169: under OS/2. The workaround is to use "-O2 -ffloat-store" instead of "-O2".
! 170:
! 171: reset
! 172: set key
! 173: set xlabel "Year"
! 174: set xdata time
! 175: set timefmt "%y%m%d"
! 176: set format x "%y"
! 177: set xrange ["900621" : "950126"]
! 178: set ylabel "Price per $100 principal"
! 179: plot '-' using 1:2 title 'Fitted IO' with lines 1
! 180: 900621 20
! 181: 950126 55
! 182: e
! 183:
! 184: 12. compiling help file with Visual C++ 4.0/Windows NT
! 185: The help compiler is unable to compile gnuplot.rtf, possibly because
! 186: it cannot handle the new RTF spec. There is no workaround, but
! 187: VC++ 5.0/6.0 users should have no problems.
! 188:
! 189: 13. The 16bit Windows version, compiled by Borland C++ 3.1, crashes with
! 190: a protection violation in 'all.dem', on the first plot that tries
! 191: to read a datafile. Heap corruption suspected.
! 192:
! 193: (Moved from old WhatsNew file, needs cleaning up)
! 194:
! 195: BUGS outstanding
! 196: illegal trailing tab on fig output
! 197: minor tics missing on HPUX ?
! 198: terminal settings get propagated when terminal is changed (now fixed ?)
! 199: set ?range [] writeback is broken for logscales.
! 200: source file copyrights are out of date - what should go on new files ?
! 201: to be documented - ms-windows cannot do wide, dashed lines (well, win32 can,
! 202: but...)
! 203:
! 204: OTHER ISSUES
! 205: set mapping spherical is not 'real' spherical polars
! 206: terminals are no longer allowed to do their own scaling
! 207: break up some of the drivers (eg epson and family) into their
! 208: own files. *maybe* we can provide libraries of generic routines
! 209: (particularly tex) which can be used by all interested drivers,
! 210: and because they are a library, they are linked only if
! 211: any relevant drivers are installed. bitmap.c could also be
! 212: linked in this way.
! 213: Now that all drivers are new format, do we need to explore separate
! 214: compilation of the drivers into their own .obj files for DOS ?
! 215: hidden line is still slower than in 3.5
! 216: have I got all os/2 and (in particular) mac changes ?
! 217: filled boxes ?
! 218: substitution using backquotes should not have a length limit
! 219: the source indentation stinks - may I pass it through gnu indent,
! 220: or will that mess up use of patches which did not make it into
! 221: the release.
! 222:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>