| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent b267b1c commit 53d8aeb
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,203 @@ | |||
| 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 | + | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments