From: Alan G I. <ai...@am...> - 2004-09-13 12:39:14
|
Setting the compression ratio to unity is important for some graphs. (Definition: compression ratio = aspect ratio of viewing window/aspect ratio of viewport). In gnuplot you do this by simply setting set size ratio vwar where vwar is the aspect ratio of the viewing window, as determined by previous xrange and yrange commands. I believe the following is the procedure in matplotlib.matlab: i. set the figsize ii. use the axes command to set the propert viewport aspect ratio, which requires careful attention to figsize (and of course knowledge of the limits to be set with the axis command) iii. plot your graph iv. use the axis command to set the aspect ratio of the viewing window My description is a bit verbose, but it may nevertheless highlight some nice things about gnuplot's size command. (Or I may have missed the obvious way to do this.) This doesn't matter much in scripts, but for interactive use (e.g., classroom demonstration) it is nice to keep things as simple and straightforward as possible. So this is almost a feature request. The only problem is that gnuplot's size command does not seem obviously suited to the matplotlib.matlab model, and I'm not sure what a good version would be. I think it would be something like "get the current axis, keep the "long" axis (as implied by the ratio) full length, and "shrink" the shorter axis as necessary to achieve the right ratio. This would respect the existing margins to everywhere except by the shrinking axis. However it would probably be better to adjust the figure size as well, to keep the margins unchanged. fwiw, Alan |