Graph-ChartSVG
view release on metacpan or search on metacpan
lib/Graph/ChartSVG.pm view on Meta::CPAN
'font-stretch' => $font_stretch,
'letter-spacing' => $letter_spacing,
'word-spacing' => $word_spacing,
'fill' => '#' . ( $set->{ color } || $layer->color || 'ffffff' ),
'stroke' => '#' . ( $set->{ stroke } || $set->{ color } || $layer->color || '000000' ),
'writing-mode' => 'lr',
'text-anchor' => $set->{ anchor } || $layer->anchor
},
transform => "matrix(1,0,0,-1," . ( $X ) . "," . ( $Y ) . ") rotate($text_angle)"
);
$txt->tspan( dy => "0" )->cdata( $set->{ text } );
}
}
elsif ( exists $layer->{ type } && $layer->{ type } eq 'line' )
{
my $ind = 0;
foreach my $set ( @{ $layer->data_set } )
{
my @xv;
my @yv;
lib/Graph/ChartSVG.pm view on Meta::CPAN
}
my $txt = $x_grid_text->text(
x => $self->border->left - $self->grid->debord->left - $self->grid->x->label->space - $x_offset,
y => $self->border->top - $self->border->bottom + $val + ( $self->grid->x->label->size * 0.3 ) - $y_offset,
style => \%style,
# transform => " rotate( " . $self->grid->x->label->rotation . "," . ( $self->border->left - $self->grid->debord->left - $self->grid->x->label->space - $x_offset ) . "," . ( $self->border->bottom + $val - $y_offset ) . " ) ",
transform => " rotate( " . $self->grid->x->label->rotation . "," . ( $self->border->left - $self->grid->debord->left - $self->grid->x->label->space - $x_offset ) . "," . ( $self->border->bottom + $val - $y_offset ) . " ) ",
);
$txt->tspan( dy => "0" )->cdata( $self->grid->x->label->text->[$text_indx] );
}
##########################################
# second x label ( right side )
##########################################
if ( defined $self->grid->x->label2 && defined $self->grid->x->label2->text->[$text_indx] )
{
my $text_color = ( $self->grid->x->label2->color || $color_hex );
my $radian = ( $self->grid->x->label2->rotation / 180 ) * PI || 0;
my $cos = cos( $radian );
lib/Graph/ChartSVG.pm view on Meta::CPAN
);
}
my $txt = $x_grid_text->text(
x => $self->border->left + $self->grid->debord->right + $self->grid->x->label2->space + $x_offset + $self->active_size->[0],
# y => $self->border->bottom + $val + ( $self->grid->x->label2->size * 0.3 ) + $y_offset,
y => $self->border->top - $self->border->bottom + $val + ( $self->grid->x->label2->size * 0.3 ) - $y_offset,
style => \%style,
transform => " rotate( " . $self->grid->x->label2->rotation . "," . ( $self->border->left + $self->grid->debord->right + $self->grid->x->label2->space + $x_offset + $self->active_size->[0] ) . "," . ( $self->border->bottom + $...
);
$txt->tspan( dy => "0" )->cdata( $self->grid->x->label2->text->[$text_indx] );
}
}
}
####################################
## grid Y ( vertical )
####################################
if ( defined $self->grid->y )
{
my $y_grid_group = $svg->group( id => "y_grid", transform => "matrix(1,0,0,-1, 0," . ( $self->total_size->[1] ) . " )" );
lib/Graph/ChartSVG.pm view on Meta::CPAN
$y_offset = ( $l * $sin ) + ( $self->grid->debord->bottom + $self->grid->y->label->space ) + ( $l / $cos );
}
my $txt = $y_grid_text->text(
x => $self->border->left + $val - $x_offset,
y => $y_offset,
style => \%style,
transform => " rotate( " . $self->grid->y->label->rotation . "," . ( $self->border->left + $val - $x_offset ) . ", " . $y_offset . " ) ",
);
$txt->tspan( dy => "0" )->cdata( $self->grid->y->label->text->[$nbr] );
}
if ( defined $self->grid->y->label2 && defined $self->grid->y->label2->text->[$nbr] )
{
my $text_color = $self->grid->y->label2->color || $color_hex;
my $font_style = 'normal';
my $font_weight = 'normal';
my $f_style = $self->grid->y->label2->style || '';
lib/Graph/ChartSVG.pm view on Meta::CPAN
);
$x_offset = ( $l * $cos ) + $val + $self->border->left;
$y_offset = ( $l * $sin ) - $self->grid->debord->bottom - $self->active_size->[1] - $self->grid->debord->top - $self->grid->y->label2->space;
}
my $txt = $y_grid_text->text(
x => $x_offset,
y => $y_offset,
style => \%style,
transform => " rotate( " . $self->grid->y->label2->rotation . "," . ( $x_offset ) . ", " . $y_offset . " ) ",
);
$txt->tspan( dy => "0" )->cdata( $self->grid->y->label2->text->[$nbr] );
}
}
}
}
#######################################
####### Frame #######
#######################################
if ( defined $self->frame )
{
( run in 0.666 second using v1.01-cache-2.11-cpan-454fe037f31 )