Как мне избавиться от контура круговой диаграммы в Perl GD :: Graph? - PullRequest
4 голосов
/ 27 мая 2010

Я пытаюсь создать круговую диаграмму без контура, используя GD :: Graph . К сожалению, я могу контролировать цвет контура с помощью этого:

    accentclr => 'black',

Так что я ожидаю, что смогу полностью избавиться от контура, сделав следующее:

    accentclr => undef,

Тем не менее, когда я делаю это, контур исчезает, но остальная часть круговой диаграммы также остается только с оставшимися метками!

Вот упрощенная версия моего скрипта:

#!/usr/bin/env perl
use GD::Graph::pie;

# Data to be graphed: 1st array is labels, 2nd array is data
my @data = ( 
     ["1st","2nd","3rd","4th"],
     [ 1, 3.5, 5, 6 ],
  );
my $graph = GD::Graph::pie->new(400, 400);

$graph->set(      
#   accentclr   => undef,   
    '3d'            => 0,
) or die $graph->error;

my $gd = $graph->plot(\@data) or die $graph->error;

open(IMG, '>pie.png') or die $!;
binmode IMG;
print IMG $gd->png;

1 Ответ

4 голосов
/ 27 мая 2010

Вы не можете установить accentclr на undef.

Из документации GD:Graph:

bgclr, fgclr, boxclr, accentclr, shadowclr

Цвета рисования, используемые для диаграммы: фон, передний план (оси и сетка), цвет заливки поля оси, акценты (контуры стержня, области и круговой диаграммы) и тень (в настоящее время только для столбцов).

Все цвета должны иметь действительное значение , как описано в "ЦВЕТА" , , кроме boxclr, которое может быть неопределенным , в этом случае поле не будет заполнено.

Похоже, что лучшим вариантом будет установить значение accentclr равным boxclr.

...