GIFgraph problem

Honza Pazdziora adelton na informatics.muni.cz
Sobota Červen 13 13:10:09 MEST 1998


> pouzivam  GIFgraph.pm a mam tento problem:
> --kod --
> use GIFgraph::lines;
> 
> @TIME = qw(6:01am 6:02am 6:03am 6:04am 6:05am 6:06am 6:07am 6:08am 6:09am);
> @DATA = qw(0.13 0.13 0.12 0.14 0.08 0.17 0.16 0.10 0.04);
> 
> @data = ( 
> 	\@TIME,
> 	\@DATA
> 	);
> 	
> $my_graph = new GIFgraph::lines(1600,300);
> 
> $my_graph->set(
>         'x_label' => 'Time',
>         'y_label' => 'Data',
>         'title' => 'Some graph',
>         'y_max_value' => 0.60,
>         'y_min_value' => 0,
>         'y_tick_number' => 12,
>         'y_label_skip' => 2,
>         'box_axis' => 0,
>         'line_width' => 1,
> );        
> 
> $my_graph->plot_to_gif( "out.gif", \@data );
> 
> 
> -- koniec kodu --
> 
> y_min_value mam nastavene na 0 a predsa mi vo vyslednom gife hodi
> y_min_value ako -0.1 .. co mi potom rozsaha cely graf ..
> 
> cim to moze byt ?

Je to tim, ze ve stavajici verzi GIFgraphu se testuje

	if ( $s->{y_min_value} )

misto rozumnejsiho

	if ( defined $s->{y_min_value} )

Quick hack v kodu toho skriptu:

	'y_min_value' => '   0',

nebo neco takoveho, aby ten test nebyl null, ale pri aritmetice byl
nula.

Slower hack, kteryzto take posilam autorovi je tenhle patch:

*** GIFgraph/axestype.pm        Sat Jun 13 13:06:13 1998
--- GIFgraph/axestype.pm.orig   Sat Jun 13 13:05:42 1998
***************
*** 534,540 ****
  
                # Overwrite these with any user supplied ones
  
!               if ( defined $s->{y_min_value} ) 
                {
                        my $i;
                        for $i (1 .. 2)
--- 534,540 ----
  
                # Overwrite these with any user supplied ones
  
!               if ( $s->{y_min_value} ) 
                {
                        my $i;
                        for $i (1 .. 2)
***************
*** 543,549 ****
                        }
                }
  
!               if ( defined $s->{y_max_value} ) 
                {
                        my $i;
                        for $i (1 .. 2)
--- 543,549 ----
                        }
                }
  
!               if ( $s->{y_max_value} ) 
                {
                        my $i;
                        for $i (1 .. 2)

Doufam, ze to pomuze,

------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
                   I can take or leave it if I please
------------------------------------------------------------------------


Další informace o konferenci Perl