Allow to select datafile for charts/explore/compare (filtered/non-filtered)
This commit is contained in:
@ -241,13 +241,18 @@ my %handlers = (
|
||||
|
||||
my @selected_experiments = Util::select_experiment(1);
|
||||
|
||||
# TODO: Fails silently if not every selected experiment has this datafile
|
||||
my $resultsdata_csv =
|
||||
Util::pick_data_file( "$local_archive_dir/$selected_experiments[0]",
|
||||
"resultsdata" );
|
||||
|
||||
# Read results
|
||||
my %all_results;
|
||||
foreach my $experiment (@selected_experiments) {
|
||||
|
||||
# Schema: benchmark, resulttype, faults
|
||||
my $data = Text::CSV_XS::csv(
|
||||
in => "$local_archive_dir/$experiment/resultsdata.csv",
|
||||
in => "$local_archive_dir/$experiment/$resultsdata_csv",
|
||||
headers => 'auto'
|
||||
);
|
||||
|
||||
@ -479,15 +484,38 @@ my %handlers = (
|
||||
TUI::select_from_list( "Select Plots to Generate", 1, @charts );
|
||||
die "No plot selected" unless @selected_charts;
|
||||
|
||||
# Need to know which chart uses which datafile
|
||||
my @faults_charts = grep { /heatmap|scatter|sankey/ } @selected_charts;
|
||||
my @resultsdata_charts =
|
||||
grep { /result$|combined_comparison/ } @selected_charts;
|
||||
|
||||
my $faults_csv;
|
||||
my $resultsdata_csv;
|
||||
if (@faults_charts) {
|
||||
$faults_csv = Util::pick_data_file(
|
||||
"$local_archive_dir/$selected_experiments[0]", "faults" );
|
||||
}
|
||||
if (@resultsdata_charts) {
|
||||
$resultsdata_csv = Util::pick_data_file(
|
||||
"$local_archive_dir/$selected_experiments[0]",
|
||||
"resultsdata" );
|
||||
}
|
||||
|
||||
my @single_charts = grep { /single/ } @selected_charts;
|
||||
foreach my $experiment (@selected_experiments) {
|
||||
foreach my $chart (@single_charts) {
|
||||
say " - Generating plot $chart for $experiment...";
|
||||
system(
|
||||
my @r_args = (
|
||||
'Rscript',
|
||||
"$local_charts_dir/$chart.r",
|
||||
"$local_archive_dir/$experiment"
|
||||
);
|
||||
push @r_args, $faults_csv
|
||||
if defined $faults_csv && $chart =~ /heatmap|scatter|sankey/;
|
||||
push @r_args, $resultsdata_csv
|
||||
if defined $resultsdata_csv
|
||||
&& $chart =~ /result$|combined_comparison/;
|
||||
system(@r_args);
|
||||
}
|
||||
}
|
||||
|
||||
@ -497,8 +525,14 @@ my %handlers = (
|
||||
map { "$local_archive_dir/$_" } @selected_experiments;
|
||||
foreach my $chart (@combined_charts) {
|
||||
say " - Generating plot $chart for ($print_experiments)...";
|
||||
system( 'Rscript', "$local_charts_dir/$chart.r",
|
||||
@path_experiments );
|
||||
my @r_args =
|
||||
( 'Rscript', "$local_charts_dir/$chart.r", @path_experiments );
|
||||
push @r_args, $faults_csv
|
||||
if defined $faults_csv && $chart =~ /heatmap|scatter|sankey/;
|
||||
push @r_args, $resultsdata_csv
|
||||
if defined $resultsdata_csv
|
||||
&& $chart =~ /result$|combined_comparison/;
|
||||
system(@r_args);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user