#!/usr/bin/perl -w use strict; use Chart::Gnuplot; # Data in arrays of x, y and z corrdinates my (@x, @y, @z) = (); for (my $x = -5; $x < 5; $x += 0.02) { my $y = sin($x*3); my $z = cos($x*3); push(@x, $x); push(@y, $y); push(@z, $z); } # Create chart object my $chart = Chart::Gnuplot->new( output => "plot3d_1.png", title => "3D plot from arrays of x, y and z corrdinates", xlabel => 'x', ylabel => 'y', zlabel => 'z', ); # Create dataSet object my $dataSet = Chart::Gnuplot::DataSet->new( xdata => \@x, ydata => \@y, zdata => \@z, style => 'lines', ); # Plot the graph $chart->plot3d($dataSet);