Thread Einfache Graphik: Graphische Darstellung von Daten (5 answers)
Opened by mayper at 2005-10-06 17:12

mayper
 2005-10-07 17:44
#44753 #44753
User since
2005-10-06
2 Artikel
BenutzerIn
[default_avatar]
Hallo renee,
danke für die rasche Antwort und Nachfrage.

Obwohl ich auch ActivePerl 5.8 (ActivePerl-5.8.7.813-MSWin32-x86-148120.msi) habe, sind meine bisherigen Versuche unter installierter Version 5.6 (ActivePerl-5.6.1.638-MSWin32-x86.msi) gelaufen. Daraufhin habe ich mir dann GD und GDGraph von <http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/> heruntergeladen und die Module mittels ppm installiert. Das erste - vermutlich fehlerhafte - Skript, das ich dann hab laufen lassen, sieht so aus:
...
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/local/bin/perl

use GD;

# create a new image
$im = new GD::Image(100,100);
# allocate some colors
$white = $im->colorAllocate(255,255,255);
$black = $im->colorAllocate(0,0,0);
$red = $im->colorAllocate(255,0,0);
$blue = $im->colorAllocate(0,0,255);
# make the background transparent and interlaced
$im->transparent($white);
$im->interlaced('true');
# Put a black frame around the picture
$im->rectangle(0,0,99,99,$black);
# Draw a blue oval
$im->arc(50,50,95,75,0,360,$blue);
# And fill it with red
$im->fill(50,50,$red);
# make sure we are writing to a binary stream
binmode STDOUT;
# Convert the image to PNG and print it on standard output
print $im->png;
...

Die Antwort brachte keine Graphik auf den Bildschirm, sondern im DOS-Fenster nur eine Mischung aus Buchstaben, Ziffern, Steuerzeichen, etc. .  
Dann habe ich noch ein anderes Skript "gefunden" , welches wie folgt ausschaut:
...
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/local/bin/perl

#use strict;
use GD;
use GD::GRAPH::Data;
use Chart;

@data = (
   ["1st","2nd","3rd","4th","5th",&qu
ot;6th","7th", "8th", "9th"],
   [    1,    2,    5,    6,    3,  1.5,    1,     3,     4],
   [ sort { $a <=> $b } (1, 2, 5, 6, 3, 1.5, 1, 3, 4) ]
 );

$graph = Chart->new(400, 300);

$graph->set(
     x_label           => 'X Label',
     y_label           => 'Y label',
     title             => 'Some simple graph',
     y_max_value       => 8,
     y_tick_number     => 8,
     y_label_skip      => 2
 );

my $gd = $my_graph->plot(\@data);
...

Das Modul <Chart> - die Quelle weiß ich im Moment nicht mehr genau, es dürfte sich allerdings um ein Modul für ActivePerl 5.8 handeln (schon ein Problem ?) - habe ich entsprechend den folgenden Zeilen installiert (mit <nmake15.exe>):
...
Code: (dl )
1
2
3
4
perl Makefile.PL
nmake15
nmake15 test
nmake15 install

...
Die Antwort nach Starten des Skripts besagt, daß <chart.pm> nicht gefunden werden konnte (ob das am installierten Chart-Modul liegt?):
...
Can't locate Chart.pm in @INC <@INC contains : C:/Perl/lib C:/Perl/site/lib .> at C:\Perl\graph\5.6\graph01.pl line 9.
BEGIN failed--compilation aborted at C:\Perl\graph\5.6\graph01.pl line 9.

...
Jedenfalls wurde ein Chart-Folder in site/lib angelegt, mit diversen pm-files drinnen, aber offenbar kein >chart.pm> .
Die Eingabe von
...
perl -e "use chart"
...
brachte im Prinzip das gleiche Ergebnis.

Vermutlich ist das ein oder andere in den Skripten falsch und/oder ich habe nicht die richtigen Module verwendet (es gibt da schließlich die unterschiedlichsten Graph-Module). Jedenfalls wäre mir das lieber als eine Antwort, die sagt, da gibt es generell (noch) Probleme mit diesen Modulen. Wie gesagt, ich will (zunächst) nur eine einfache Graphik (Darstellung von Daten in einem x-y-Diagramm).

... aller Anfang ist schwer.
In diesem Sinne,
Gruß
mayper\n\n

<!--EDIT|renee|1128703157-->

View full thread Einfache Graphik: Graphische Darstellung von Daten