07 Nov 2013 00:47:02 UTC
- Distribution: Spreadsheet-WriteExcel
- Module version: 2.40
- Source (raw)
- Browse (raw)
- How to Contribute
- Issues (2)
- Testers (6448 / 173 / 0)
- KwaliteeBus factor: 1
- 66.26% Coverage
- License: perl_5
- Download (469.7KB)
- MetaCPAN Explorer
- Subscribe to distribution
- This version
- Latest version++ed by:16 non-PAUSE users
- John McNamara (email@example.com)
Line - A writer class for Excel Line charts.
To create a simple Excel file with a Line chart using Spreadsheet::WriteExcel:
#!/usr/bin/perl -w use strict; use Spreadsheet::WriteExcel; my $workbook = Spreadsheet::WriteExcel->new( 'chart.xls' ); my $worksheet = $workbook->add_worksheet(); my $chart = $workbook->add_chart( type => 'line' ); # Configure the chart. $chart->add_series( categories => '=Sheet1!$A$2:$A$7', values => '=Sheet1!$B$2:$B$7', ); # Add the worksheet data the chart refers to. my $data = [ [ 'Category', 2, 3, 4, 5, 6, 7 ], [ 'Value', 1, 4, 5, 2, 1, 5 ], ]; $worksheet->write( 'A1', $data ); __END__
This module implements Line charts for Spreadsheet::WriteExcel. The chart object is created via the Workbook
my $chart = $workbook->add_chart( type => 'line' );
Once the object is created it can be configured via the following methods that are common to all chart classes:
$chart->add_series(); $chart->set_x_axis(); $chart->set_y_axis(); $chart->set_title();
These methods are explained in detail in Spreadsheet::WriteExcel::Chart. Class specific methods or settings, if any, are explained below.
There aren't currently any line chart specific methods. See the TODO section of Spreadsheet::WriteExcel::Chart.
Here is a complete example that demonstrates most of the available features when creating a chart.
#!/usr/bin/perl -w use strict; use Spreadsheet::WriteExcel; my $workbook = Spreadsheet::WriteExcel->new( 'chart_line.xls' ); my $worksheet = $workbook->add_worksheet(); my $bold = $workbook->add_format( bold => 1 ); # Add the worksheet data that the charts will refer to. my $headings = [ 'Number', 'Sample 1', 'Sample 2' ]; my $data = [ [ 2, 3, 4, 5, 6, 7 ], [ 1, 4, 5, 2, 1, 5 ], [ 3, 6, 7, 5, 4, 3 ], ]; $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 => 'line', embedded => 1 ); # Configure the first series. (Sample 1) $chart->add_series( name => 'Sample 1', categories => '=Sheet1!$A$2:$A$7', values => '=Sheet1!$B$2:$B$7', ); # Configure the second series. (Sample 2) $chart->add_series( name => 'Sample 2', categories => '=Sheet1!$A$2:$A$7', values => '=Sheet1!$C$2:$C$7', ); # Add a chart title and some axis labels. $chart->set_title ( name => 'Results of sample analysis' ); $chart->set_x_axis( name => 'Test number' ); $chart->set_y_axis( name => 'Sample length (cm)' ); # Insert the chart into the worksheet (with an offset). $worksheet->insert_chart( 'D2', $chart, 25, 10 ); __END__
This will produce a chart that looks like this:
John McNamara firstname.lastname@example.org
Copyright MM-MMX, John McNamara.
All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.
Module Install Instructions
To install Spreadsheet::WriteExcel, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell install Spreadsheet::WriteExcel
For more information on module installation, please visit the detailed CPAN module installation guide.
|s||Focus search bar|
|?||Bring up this help dialog|
|g p||Go to pull requests|
|g i||go to github issues (only if github is preferred repository)|
|g a||Go to author|
|g c||Go to changes|
|g i||Go to issues|
|g d||Go to dist|
|g r||Go to repository/SCM|
|g s||Go to source|
|g b||Go to file browse|