|
From: Daniel J S. <dan...@ie...> - 2006-02-09 08:34:18
|
Petr Mikulik wrote: >> Sure. boundary3d() can use a lot of improvement. Only question is: >> do this incrementally, risking an end state that is a rather tangled >> mess, or allow someone the time to really work on this, and get it >> _right_? > > > Fixing the most obvious "bugs" (=missing functionality) now. Easier and more obvious, but still would require significant file restructure. > >> 1) add more 'coordinate' classes for 3D plots, if only for debugging. >> We need commands like >> >> set arrow from view 0,0,0 to view 1,1,1 # 'camera' coordinates >> set arrow from canvas 0,0 to canvas 1,1 # the 'plot_boundary' > > > Aha, there is no coordinate system for the bounding rectangle of the 3D? > Do we need it? > > This looks like a bug: > set arrow 1 from graph 0,0,0 to graph 1,1,1 > splot x*y > pause -1 > set view map > replot > pause -1 > plot x > > I would expect a line in another diagonal. Looks like a bug. In 3d space the arrow goes from -10,-10 to 10,10. So, unless map is something quite different from 3d, the project seems wrong. > >> 2) Extend boundary3d(): add handling for the other 3 margins, 'set >> offsets', and completely re-think space reservations for ticks, >> ticklabels, and axis labels. > > > You mean 'set margins'? I think this is the most easy and helpful fix. > This would allow to scale down the 3D plot area manually in order to > allow enough space for the color box when needed. I think he means the spacing along the axes margins, which as Ethan pointed out, are very different than the canvas margins. The example you gave above, if one looks at the tick mark text in some cases it overlaps with the axes line and doesn't look good. Sure, in some cases this is difficult to avoid because of the viewing angle. But the default view angle should at least look pretty good. [I seem to recall the color box was at one time drawn in the plot coordinates and used to rotat around with the graph. Remember that?] Then replot the 3d example after set xlabel 'xlabel' set ylabel 'ylabel' set zlabel 'zlabel' Again, for some viewing angles the text is way out further than it need be. [And if you could draw the axis labels using rotated text, you might have a real winner.] I think this is the more difficult task that Hans refers to: making that axes annotation look good in all views. Dan |