2011-06-17 59 views
2

有没有办法将图表中的行(最大温度和最小温度)之间的空间着色?Excel :: Writer :: XLSX :: Chart :: Line - 问题

#!/usr/local/bin/perl 
use warnings; 
use 5.014; 
use utf8; 
use Excel::Writer::XLSX; 
my $workbook = Excel::Writer::XLSX->new('spreadsheet.xlsx') or die $!; 
my $worksheet = $workbook->add_worksheet('One'); 
my $ref = [ 
[ 'Day', 'Max. Temp.', 'Min. Temp' ], 
[ 1, -3.1, -6.4 ], 
[ 2, -2.3, -7.2 ], 
[ 3, -4.7, -6.8 ], 
[ 4, -3.1, -9.5 ], 
[ 5, 1.1, -11.4 ], 
[ 6, 1.2, 0.3 ], 
[ 7, 5.3, 0.7 ], 
[ 8, 7.7, 1.5 ], 
[ 9, 1.5, -2 ], 
[ 10, 1, -1.1 ] ]; 
$worksheet->write_col(0, 0, $ref); 

my $chart = $workbook->add_chart(type => 'line'); 
$chart->set_x_axis(name => 'Day'); 
$chart->set_y_axis(name => 'Temperature (° Celsius)'); 
$chart->set_style(11); 

$chart->add_series(
    values => [ 'One', 1, $#$ref, 1, 1 ], 
    name => '=One!$B$1', 
); 

$chart->add_series(
    values => [ 'One', 1, $#$ref, 2, 2 ], 
    name => '=One!$C$1', 
); 

回答

2

我不认为这个功能在Excel中可用,所以它不可能在Excel::Writer::XLSX

至少它在Excel中不可用作为单个操作。有一些解决方法,例如herehere,但您目前在Excel :: Writer :: XLSX中没有该级别的控制权。

Droplines/High-Low行将在未来版本中添加。这可能是一个可接受的解决方法。

相关问题