|
From: <and...@us...> - 2013-06-05 06:54:54
|
Revision: 12368
http://sourceforge.net/p/plplot/code/12368
Author: andrewross
Date: 2013-06-05 06:54:51 +0000 (Wed, 05 Jun 2013)
Log Message:
-----------
Apply fix from Steve Schwartz for mis-alignment of the major axes and grid with time axis ("d" option).
Modified Paths:
--------------
trunk/src/plbox.c
Modified: trunk/src/plbox.c
===================================================================
--- trunk/src/plbox.c 2013-06-05 01:52:14 UTC (rev 12367)
+++ trunk/src/plbox.c 2013-06-05 06:54:51 UTC (rev 12368)
@@ -455,7 +455,7 @@
if ( ldy )
{
pldtfac( vpwymi, vpwyma, &factor, &tstart );
- tp = ytick1 * ( floor( ( vpwymi - tstart ) / ytick1 ) + 1 ) + tstart;
+ tp = ytick1 * ( floor( ( vpwyma - tstart ) / ytick1 ) + 1 ) + tstart;
}
else
tp = ytick1 * ( floor( vpwyma / ytick1 ) + 1 );
@@ -1259,11 +1259,12 @@
grid_box( const char *xopt, PLFLT xtick1, PLINT nxsub1,
const char *yopt, PLFLT ytick1, PLINT nysub1 )
{
- PLINT lgx, lhx, llx;
- PLINT lgy, lhy, lly;
+ PLINT lgx, lhx, llx, ldx;
+ PLINT lgy, lhy, lly, ldy;
PLFLT vpwxmi, vpwxma, vpwymi, vpwyma;
PLFLT vpwxmin, vpwxmax, vpwymin, vpwymax;
PLFLT tn, temp, tcrit, tspace = 0.1;
+ PLFLT tstart, factor;
PLINT i;
// Set plot options from input
@@ -1271,10 +1272,12 @@
lgx = plP_stsearch( xopt, 'g' );
lhx = plP_stsearch( xopt, 'h' );
llx = plP_stsearch( xopt, 'l' );
+ ldx = plP_stsearch( xopt, 'd' );
lgy = plP_stsearch( yopt, 'g' );
lhy = plP_stsearch( yopt, 'h' );
lly = plP_stsearch( yopt, 'l' );
+ ldy = plP_stsearch( yopt, 'd' );
plP_xgvpw( &vpwxmin, &vpwxmax, &vpwymin, &vpwymax );
// n.b. large change; vpwxmi always numerically less than vpwxma, and
@@ -1288,8 +1291,16 @@
if ( lgx )
{
- for ( tn = xtick1 * floor( vpwxmi / xtick1 );
- tn <= vpwxma; tn += xtick1 )
+ if ( ldx )
+ {
+ pldtfac( vpwxmi, vpwxma, &factor, &tstart);
+ tn = xtick1*( floor((vpwxmi-tstart )/xtick1 )) + tstart;
+ }
+ else
+ {
+ tn = xtick1*floor( vpwxmi / xtick1 );
+ }
+ for ( ; tn <= vpwxma; tn += xtick1 )
{
if ( lhx )
{
@@ -1326,9 +1337,16 @@
if ( lgy )
{
- tn = ytick1 * floor( vpwymi / ytick1 + tspace );
- for ( tn = ytick1 * floor( vpwymi / ytick1 );
- tn <= vpwyma; tn += ytick1 )
+ if ( ldy )
+ {
+ pldtfac( vpwymi, vpwyma, &factor, &tstart);
+ tn = ytick1*( floor((vpwymi-tstart )/ytick1 )) + tstart;
+ }
+ else
+ {
+ tn = ytick1*floor( vpwymi / ytick1 );
+ }
+ for ( ; tn <= vpwyma; tn += ytick1 )
{
if ( lhy )
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|