your mail
Frantisek Darena
darena na akela.mendelu.cz
Pondělí Prosinec 5 09:11:51 MET 2005
On Sat, 3 Dec 2005, Propadly wrote:
> dobry den, muze mi nekdo poradit proc mi nechodi script:
>
> hlasi mi to chybu na radce: my @x_vals = (0, 10, 20, 30, 40, 50, 60); ??? vubec nevim co s tim.
Jakou chybu to hlasi?
FD
>
>
> #! /usr/bin/perl -w
>
> use strict;
> use GD;
>
> # the data
> my @x_vals = (0, 10, 20, 30, 40, 50, 60);
> my @y_vals = (0.002, 0.045, 0.088, 0.132, 0.178, 0.215, 0.256);
>
>
> # conversion factors
> my $x_pixels_per_unit = 10.0;
> my $y_pixels_per_unit = 1167;
>
>
> open GRFFILE, ">/home/httpd/html/bios546/gd_graph.png" or die "Couldn't open graph file: $!\n";
>
> # create new image object
> my $im = new GD::Image(760, 420);
>
> # allocate some colors
> my $white = $im->colorAllocate(255,255,255);
> my $black = $im->colorAllocate(0, 0, 0);
> my $red = $im->colorAllocate(255, 0, 0);
> my $blue = $im->colorAllocate(0, 0, 255);
>
> $im->transparent($white);
> $im->interlaced('true');
>
> # border
> $im->rectangle(0, 0, 759, 419, $black);
>
> #axes
> my $x_axis_origin = 50;
> my $x_axis_end = 650;
> my $y_axis_origin = 380;
> my $y_axis_end = 30;
>
> $im->line($x_axis_origin, $y_axis_origin, $x_axis_end, $y_axis_origin, $black); # x-axis
> $im->string(gdSmallFont, 300, $y_axis_origin + 25, "Time (min)", $black); # axis label
>
> $im->line($x_axis_origin, $y_axis_origin, $x_axis_origin, $y_axis_end, $black); # y-axis
> $im->stringUp(gdSmallFont, $x_axis_origin - 45, 250, "Enzyme Activity (units)", $black);
>
> # tick marks
>
> my @x_ticks = (0, 10, 20, 30, 40, 50, 60);
> foreach my $tick (@x_ticks) {
> my $tick_pos = $tick * $x_pixels_per_unit + $x_axis_origin;
> $im->line($tick_pos, $y_axis_origin - 3, $tick_pos, $y_axis_origin + 3, $black);
> $im->string(gdSmallFont, $tick_pos - 5, $y_axis_origin + 10, $tick, $black);
> }
>
> my @y_ticks = qw(0.00 0.05 0.10 0.15 0.20 0.25 0.30);
> foreach my $tick (@y_ticks) {
> my $tick_pos = $y_axis_origin - $tick * $y_pixels_per_unit;
> $im->line($x_axis_origin - 3, $tick_pos, $x_axis_origin + 3, $tick_pos, $black);
> $im->stringUp(gdSmallFont, $x_axis_origin - 20, $tick_pos + 10, $tick, $black);
> }
>
> # data plotting
> for (my $i = 0; $i <= $#x_vals; $i++) {
> my $x_pos = $x_vals[$i] * $x_pixels_per_unit + $x_axis_origin;
> my $y_pos = $y_axis_origin - $y_vals[$i] * $y_pixels_per_unit;
> $im->string(gdSmallFont, $x_pos- 2, $y_pos- 6, "*", $red);
> }
>
> # lines drawn between points
> for (my $i = 0; $i < $#x_vals; $i++) {
> my $x1 = $x_vals[$i] * $x_pixels_per_unit + $x_axis_origin;
> my $x2 = $x_vals[$i+1] * $x_pixels_per_unit + $x_axis_origin;
>
> my $y1 = $y_axis_origin - $y_vals[$i] * $y_pixels_per_unit;
> my $y2 = $y_axis_origin - $y_vals[$i+1] * $y_pixels_per_unit;
>
> $im->line($x1, $y1, $x2, $y2, $blue);
> }
>
>
> # print the file
> binmode GRFFILE;
> print GRFFILE $im->png;
> close GRFFILE;
>
>
> predem dekuji za kazdou pomoc
> Honza
>
>
>
>
>
>
Další informace o konferenci Perl