[BACK]Return to 0BUGS CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot

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>