SimpleR::Reshape::ChartData
将统计数据转换为画图数据,让SimpleCall::ChartDirector调用
my ($r, %opt) = read_chart_data_dim3('02.dim3.csv', skip_head=> 1, label => [0], legend => [1], data => [2], sep=> ',', charset => 'utf8', #legend_remember_order => 1, #1 : 默认值,用原有的顺序,0 : 直接sort #label_remember_order => 1, #legend_sort => [ qw/ ... / ], # 指定固定顺序 #label_sort => [ qw/ ... / ], #chart_data_sub => sub { my ($h, $legend, $label) = @_; ... } #finally, resort label .... # resort_label_by_chart_data_map => sub { my ($r) = @_; # my ($good, $normal, $bad) = @$r; #good/normal/bad => legend name, $good/$normal/$bad => chart data # my $s = $good+$normal+$bad; # return [ $bad/$s, $normal/$s ]; # }, # resort_label_by_chart_data_sort => sub { my ($x, $y) = @_; # return ($x->[0] <=> $y->[0]) or ($x->[1] <=> $y->[1]) # }, ); #$r = [[3, 2], [0, 1], [3, 0]], #%opt = ("legend", #["\xE4\xBC\x98", "\xE5\xB7\xAE", "\xE8\x89\xAF"], #"label", #["\xE7\x94\xB5\xE4\xBF\xA1", "\xE8\x81\x94\xE9\x80\x9A"], )
实例参考 xt子文件夹
default chart :
resort_label_by_chart_data_map
my ($r, %opt) = read_chart_data_dim2('01.dim2.csv', skip_head=> 1, label => [0], data => [1], sep=> ',' ); #$r = [4, 3, 5], #%opt = ("legend", [ #"\xE6\x9D\x8E\xE5\xAD\x90", #"\xE6\xA1\x83\xE5\xAD\x90", #"\xE8\x8B\xB9\xE6\x9E\x9C", ], #"label", [ #"\xE6\x9D\x8E\xE5\xAD\x90", #"\xE6\xA1\x83\xE5\xAD\x90", #"\xE8\x8B\xB9\xE6\x9E\x9C", ], )
my ($r, %opt) = read_chart_data_dim3_horizon('03.dim3_horizon.csv', skip_head=> 1, label => [0], legend => [1 .. 3], names => [ qw/time good normal bad/ ], sep=> ',' ); #$r = [[1, 4, 3, 7], [3, 2, 2, 9], [4, 2, 3, 8]], #%opt = ("legend", #["bad", "good", "normal"], #"label", #["2013-08-01", "2013-08-02", "2013-08-03", "2013-08-04"],)
my ($r, %opt) = read_chart_data_dim3_scatter('04.dim3_scatter.csv', skip_head=> 1, label => [1], legend => [0], data => [2], label_sort => [ 1 .. 20 ], #legend_sort => [ '类', '型' ], sep=> ',', charset => 'utf8', ); #( #[ #[ #[6, 11, 7, 9, 12, 8, 4, 3.5, 10], #[65, 105, 70, 80, 100, 60, 40, 45, 90], #], #[ #[6, 10.5, 12, 14, 15, 8, 10, 13, 16], #[80, 125, 125, 110, 150, 105, 130, 115, 170], #], #], #"legend", #["\x{578B}", "\x{7C7B}"], #"label", #[1 .. 20], #)
To install SimpleR::Reshape::ChartData, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SimpleR::Reshape::ChartData
CPAN shell
perl -MCPAN -e shell install SimpleR::Reshape::ChartData
For more information on module installation, please visit the detailed CPAN module installation guide.