Bug#359943: libchart-perl: integer_ticks_only doesn't honor max_y_ticks

Bill Allombert allomber at math.u-bordeaux.fr
Tue Apr 18 19:58:20 UTC 2006


On Mon, Apr 17, 2006 at 11:54:56PM +0300, Niko Tyni wrote:
>  
> > 1) The lower bound should be probably rounded down to the next multiple
> > of the interval. This is the behaviour when integer_ticks_only is off.
> 
> Right. One more round of iteration attached.

Hello Niko,

There are some ticks above the graph now:

-----------------------
#! /usr/bin/perl -w

use Chart::LinesPoints;

@data=([2000..2190], [18..208]);

$obj=Chart::LinesPoints->new (600,400);
$obj->set ('title' => "Bug");
$obj->set ('max_y_ticks' => 10);
$obj->set ('integer_ticks_only' => 1);
$obj->png ("foo.png",\@data);
-----------------------

> > 2) the patch did not apply so I used fromdos on Base.pm and it applied.
> > Maybe my MUA has converted the patch to UNIX lines.
> 
> No, the problem is at my end. I hope this one comes through correctly. 
> (I'm using 'application/x-patch' instead of 'text/plain' now.)

Yes, this one applies fine.

> > 3) I would suggest the default for max_y_ticks to be the same with or
> > without integer_ticks_only (the manpage suggests so). A specific value
> > could be used for max_y_ticks to denote the correct behaviour (no max).
> 
> I don't understand this.
> 

OK, please try the script below:

----------------------
#! /usr/bin/perl -w

use Chart::LinesPoints;

@data=([2000..2999], [0..999]);
$obj=Chart::LinesPoints->new (600,400);
$obj->set ('integer_ticks_only' => 0);
$obj->png ("foo1.png",\@data);

$obj=Chart::LinesPoints->new (600,400);
$obj->set ('integer_ticks_only' => 1);
$obj->png ("foo2.png",\@data);
----------------------

and compare foo1.png with foo2.png.
foo1.png has 10 y ticks while foo2.png has 50 ticks.

> The default for max_y_ticks is the same in both cases, 100. The
> 'integer_ticks_only' code aims for a tick interval of 1, but if that goes
> over max_y_ticks, it starts compensating. Without 'integer_ticks_only',
> the 'max_y_ticks' kicks in only with non-integer tick intervals.

Ah, so this is the intended behaviour ? Weird.

Cheers,
Bill.




More information about the pkg-perl-maintainers mailing list