Я установилx_label_skip
для пропуска меток, но он все еще пытается отобразить самую последнюю метку, перезаписывая другую метку, и выглядит беспорядочно. Он не должен писать последнюю этикетку. Он должен пропускать последнюю метку. Я устанавливаю количество пропускаемых меток в зависимости от количества точек данных.
Вот как это выглядит:
Код:
my $graph = GD::Graph::lines->new(400, 500);
$graph->set(
r_margin => 2,
x_label => 'Date',
y_label => 'Price',
title => "$symbol1, $symbol2",
dclrs => [ qw(lred lblue lgreen lyellow lpurple cyan lorange) ],
transparent => 0,
x_labels_vertical => 1,
x_label_skip => int ((@tmpDate * 8)/(400-50) + 1), # a function of # of data points, each label 8px. More labels, more skip.
) or die $graph->error;