Я думаю, что ваше назначение @data
, вероятно, виноват.
my @data = {@x_axis,@y_axis};
Это создает массив с одним элементом. Этот один элемент - хеш. Документация GD :: Graph показывает, что вам нужен массив массивов. Здесь, как указано daotoad
, Data :: Dumper пригодится. Попробуйте следующее:
use Data::Dumper;
my @x_axis = 1...100;
my @y_axis = "a"..."z";
my @data = {@x_axis,@y_axis};
warn Dumper(\@data);
Вы можете увидеть, как интерпретируются данные, и увидеть, что они не совпадают с примером GD :: Graph :
@data = (
["1st","2nd","3rd","4th","5th","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) ]
);