Больше форматирования в круговых диаграммах в Spreadsheet :: WriteExcel (perl) - PullRequest
2 голосов
/ 25 мая 2011

Кто-нибудь знает, возможно ли добавить больше форматирования в круговую диаграмму?Например, отображение процентов каждого среза на самом графике или наличие меток каждого среза, показанных рядом / на нем?Вместо одной простой легенды?

Спасибо!

1 Ответ

1 голос
/ 25 мая 2011

Это невозможно с Spreadsheet :: WriteExcel , но это возможно с Excel :: Writer :: XLSX .

Вот пример:

#!/usr/bin/perl

use strict;
use warnings;
use Excel::Writer::XLSX;

my $workbook  = Excel::Writer::XLSX->new( 'chart_pie.xlsx' );
my $worksheet = $workbook->add_worksheet();
my $bold      = $workbook->add_format( bold => 1 );

# Add the worksheet data that the charts will refer to.
my $headings = [ 'Category', 'Values' ];
my $data = [
    [ 'Apple', 'Cherry', 'Pecan' ],
    [ 60,       30,       10     ],
];

$worksheet->write( 'A1', $headings, $bold );
$worksheet->write( 'A2', $data );

# Create a new chart object. In this case an embedded chart.
my $chart = $workbook->add_chart( type => 'pie', embedded => 1 );

# Configure the series.
$chart->add_series(
    name        => 'Pie sales data',
    categories  => [ 'Sheet1', 1, 3, 0, 0 ],
    values      => [ 'Sheet1', 1, 3, 1, 1 ],
    data_labels => { value => 1 },
);

# Add a title.
$chart->set_title( name => 'Popular Pie Types' );

# Set an Excel chart style. Colors with white outline and shadow.
$chart->set_style( 10 );

# Insert the chart into the worksheet (with an offset).
$worksheet->insert_chart( 'C2', $chart, 25, 10 );

__END__

И это график, который отображается: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...