From: Hans-Bernhard B. <br...@ph...> - 2004-06-04 20:35:32
|
On Fri, 4 Jun 2004, Lutz Maibaum wrote: [...] > This will create a postscript file "test.ps", which contains two plots as > expected. Now execute this line again. The resulting postscript file contains > only one plot. It actually still contains both plots, but one is entirely outside the bounding box. You can see it by printing out the file, or turning the page size in gv from "BBox" to "A4". > Is this the expected behavior? Yes, at least for the inside view of "expected" ;-) The reason is that the bounding box is defined by the status of 'set size' at the point of 'set multiplot'. You have to reset the size to 1,1 before you 'set multiplot' again. -- Hans-Bernhard Broeker (br...@ph...) Even if all the snow were burnt, ashes would remain. |
From: Hans-Bernhard B. <br...@ph...> - 2004-06-05 20:21:42
|
On Sat, 5 Jun 2004, Daniel J Sebald wrote: > wanted the following > > 1) 6 x 1 configuration, i.e., six plots stacked vertically. > 2) Tic marks outside the borders because otherwise they would interfere > with what is in the plot. > 3) All six plots share the same x-axis. Hence, to free up space, I > wanted only the bottom plot to have units and tic marks. > 4) I wanted just one y-axis label, centered somewhere between the third > and fourth plots. > > OK, it is #3 that really poses the problem. Here is a string of > commands that basically captures the ideas I used to lay out the multiplot: [...] > If you enter these commands, you'll see what the main issue is. That > bottom plot is different in terms of label configuration. The way > gnuplot works, when one says "size" it refers to the overall dimension > of the plot *including* labels. In the terms defined in "help glossary": 'set size' fixes the size of the plot, not of the graph, based on the assumption that it's the "real" size of the output (i.e. the plot, including all annotations outside the graph box) you usually have to control. But all is not lost yet. This situation is exactly what 'set lmargin' and friends exist for. They let you fix the relation between the plot and the graph by overriding the automatically determined margins. -- Hans-Bernhard Broeker (br...@ph...) Even if all the snow were burnt, ashes would remain. |
From: Daniel J S. <dan...@ie...> - 2004-06-06 05:21:04
|
Hans-Bernhard Broeker wrote: >On Sat, 5 Jun 2004, Daniel J Sebald wrote > >But all is not lost yet. This situation is exactly what 'set lmargin' and >friends exist for. They let you fix the relation between the plot and the >graph by overriding the automatically determined margins. > Ethan A Merritt wrote: >On Saturday 05 June 2004 09:47 am, Daniel J Sebald wrot > >Is it sufficient to add the single command "set bmargin 0", >and manually leave room for the tic labels, as in the modification >I made to your script above? > Yes, that is EXACTLY what I'm looking for. By setting all the margins to zero, I now have accurate control of the border lengths by using "set size" and "set origin". Thanks. This should have dawned on me. I wrote a patch to change the margin variables inside gnuplot to floats instead of ints. At the time I did that patch, I was probably thinking that fine tuning of the plot should be done using the margin settings, which when they are int variables doesn't work so well. But setting margins to 0 is the way to go in the situation I have. Dan |
From: Hans-Bernhard B. <br...@ph...> - 2004-06-05 20:53:22
|
On Fri, 4 Jun 2004, Lutz Maibaum wrote: > I wasn't aware that this is what the "set size" command does. I though > that it tells gnuplot that "whatever graph you plot, do it in a way that > it covers the whole width of the output medium, but only half its > height". I didn't expect the "set size" command to change the size of > the output medium itself, which I thought was always 10"x7" for the > postscript terminal. Actually, 'set size' doesn't really modify the size of the PS output medium --- it cannot possibly do that for a printer output format, because the medium is a physical sheet of paper, and gnuplot can neither know what size that actually is, nor can it do anything about it if it's not the expected size, let alone "change the size" of it. gnuplot doesn't own a pair of scissors, nor a knife. Instead, 'set size' in postscript multiplot will change the _bounding_box_ comment record put into the file. Whether that bounding box information has any effect on the final output is entirely in the hands of the postscript interpreter and other tools --- gnuplot loses all power to affect this the moment it closes the file. Printers, e.g., will generally ignore it, but word processors you paste a plot file into may honour it. -- Hans-Bernhard Broeker (br...@ph...) Even if all the snow were burnt, ashes would remain. |