#!/usr/bin/perl
my
$workbook
= Excel::Writer::XLSX->new(
'chart_bar.xlsx'
);
my
$worksheet
=
$workbook
->add_worksheet();
my
$bold
=
$workbook
->add_format(
bold
=> 1 );
my
$headings
= [
'Number'
,
'Batch 1'
,
'Batch 2'
];
my
$data
= [
[ 2, 3, 4, 5, 6, 7 ],
[ 10, 40, 50, 20, 10, 50 ],
[ 30, 60, 70, 50, 40, 30 ],
];
$worksheet
->
write
(
'A1'
,
$headings
,
$bold
);
$worksheet
->
write
(
'A2'
,
$data
);
my
$chart1
=
$workbook
->add_chart(
type
=>
'bar'
,
embedded
=> 1 );
$chart1
->add_series(
name
=>
'=Sheet1!$B$1'
,
categories
=>
'=Sheet1!$A$2:$A$7'
,
values
=>
'=Sheet1!$B$2:$B$7'
,
);
$chart1
->add_series(
name
=>
'=Sheet1!$C$1'
,
categories
=> [
'Sheet1'
, 1, 6, 0, 0 ],
values
=> [
'Sheet1'
, 1, 6, 2, 2 ],
);
$chart1
->set_title (
name
=>
'Results of sample analysis'
);
$chart1
->set_x_axis(
name
=>
'Test number'
);
$chart1
->set_y_axis(
name
=>
'Sample length (mm)'
);
$chart1
->set_style( 11 );
$worksheet
->insert_chart(
'D2'
,
$chart1
, 25, 10 );
my
$chart2
=
$workbook
->add_chart(
type
=>
'bar'
,
embedded
=> 1,
subtype
=>
'stacked'
);
$chart2
->add_series(
name
=>
'=Sheet1!$B$1'
,
categories
=>
'=Sheet1!$A$2:$A$7'
,
values
=>
'=Sheet1!$B$2:$B$7'
,
);
$chart2
->add_series(
name
=>
'=Sheet1!$C$1'
,
categories
=> [
'Sheet1'
, 1, 6, 0, 0 ],
values
=> [
'Sheet1'
, 1, 6, 2, 2 ],
);
$chart2
->set_title (
name
=>
'Stacked Chart'
);
$chart2
->set_x_axis(
name
=>
'Test number'
);
$chart2
->set_y_axis(
name
=>
'Sample length (mm)'
);
$chart2
->set_style( 12 );
$worksheet
->insert_chart(
'D18'
,
$chart2
, 25, 11 );
my
$chart3
=
$workbook
->add_chart(
type
=>
'bar'
,
embedded
=> 1,
subtype
=>
'percent_stacked'
);
$chart3
->add_series(
name
=>
'=Sheet1!$B$1'
,
categories
=>
'=Sheet1!$A$2:$A$7'
,
values
=>
'=Sheet1!$B$2:$B$7'
,
);
$chart3
->add_series(
name
=>
'=Sheet1!$C$1'
,
categories
=> [
'Sheet1'
, 1, 6, 0, 0 ],
values
=> [
'Sheet1'
, 1, 6, 2, 2 ],
);
$chart3
->set_title (
name
=>
'Percent Stacked Chart'
);
$chart3
->set_x_axis(
name
=>
'Test number'
);
$chart3
->set_y_axis(
name
=>
'Sample length (mm)'
);
$chart3
->set_style( 13 );
$worksheet
->insert_chart(
'D34'
,
$chart3
, 25, 11 );