From: <hba...@ma...> - 2007-03-14 00:45:39
|
Hello, I've just added a function called plmtex3 to the PLplot API. Essentially it is the 3D equivalent of plmtex, though the side argument is a bit different. You specify an axis with one of "x", "y", "z", then whether you want the label on the primary/secondary axis with "p" or "s", and if you want it to be perpendicular to the axis you add "v". For the z-axis, primary is the leftmost axis and secondary is the rightmost axis. For the x & y axis it will depend on the orientation of the plot. Suggestions? The following example demonstrates the function: // plmtex3 testing program #include <stdio.h> #include "plplot/plplot.h" int main(int argc, char *argv[]) { plinit(); pladv(0); plvpor(0.0, 1.0, 0.0, 0.9); plwind(-1.0, 1.0, -0.9, 1.1); plw3d(1.0, 1.0, 1.0, -1.5, 1.5, -0.5, 1.5, 0.0, 2.0, 40.0, 60.0 + 270.0); plcol0(1); plbox3( "bnst", "", 0.0, 0, "bnst", "", 0.0, 0, "bcdmnstv", "", 0.0, 0); plmtex3("xpv", 2.5, 0.5, 0.5, "one"); plmtex3("xs", 2.5, 0.5, 0.5, "two"); plmtex3("ypv", 2.5, 0.5, 0.5, "three"); plmtex3("ys", 2.5, 0.5, 0.5, "------- four ------"); plmtex3("zpv", 2.5, 0.5, 0.5, "five"); plmtex3("zs", 2.5, 0.5, 0.5, "six"); plend(); } This also shows up either a bug in the function or in the xwindows driver. The "four" label is not drawn parallel to the axis for the xwindows driver, but it is drawn correctly for the aquaterm driver and the png driver. -Hazen |
From: Alan W. I. <ir...@be...> - 2007-03-14 03:18:34
|
On 2007-03-13 20:43-0400 hba...@ma... wrote: > [...] Suggestions? The following example demonstrates the function: [...] I added command-line parsing to the example, straightened out an #include issue, moved the strings further from the axes so the numerical labels did not interfere, and committed the result as x28c.c. Please make any additional changes you feel will make this example more pleasing to the eye such as putting in an actual 3D plot. OTOH, if you feel that it might be better to demonstrate this new plmtex3 API using one of the other standard examples that already has 3D plotting, then we can always remove x28c.c again. > > This also shows up either a bug in the function or in the xwindows > driver. The "four" label is not drawn parallel to the axis for the > xwindows driver, but it is drawn correctly for the aquaterm driver > and the png driver. I cannot confirm this issue on my Debian stable system. psc, png, and xwin all seem to give similar looking results for the "four" label which is parallel to the y axis in all cases. I assume you are going to document plmtex3 in api.xml so I won't suggest that. :-) Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: <hba...@ma...> - 2007-03-14 23:13:11
|
On Mar 13, 2007, at 11:18 PM, Alan W. Irwin wrote: > On 2007-03-13 20:43-0400 hba...@ma... wrote: > >> [...] Suggestions? The following example demonstrates the >> function: [...] > > I added command-line parsing to the example, straightened out an > #include > issue, moved the strings further from the axes so the numerical > labels did > not interfere, and committed the result as x28c.c. Please make any > additional changes you feel will make this example more pleasing to > the eye > such as putting in an actual 3D plot. OTOH, if you feel that it > might be > better to demonstrate this new plmtex3 API using one of the other > standard > examples that already has 3D plotting, then we can always remove > x28c.c > again. Ok. I agree that an actual plot would be nice :). I'd probably go with modifying one of the current examples. >> This also shows up either a bug in the function or in the xwindows >> driver. The "four" label is not drawn parallel to the axis for the >> xwindows driver, but it is drawn correctly for the aquaterm driver >> and the png driver. > > I cannot confirm this issue on my Debian stable system. psc, png, > and xwin > all seem to give similar looking results for the "four" label which > is parallel to the y axis in all cases. > > I assume you are going to document plmtex3 in api.xml so I won't > suggest > that. :-) I was going to wait a few weeks too see if anyone complained about the arguments, particularly the "side" argument. -Hazen |