Class: KnapsackSolver::GraphPrinter

Inherits:
Object
  • Object
show all
Defined in:
lib/knapsack_solver/graph_printer.rb

Overview

This class provides support for making graphs from statistics of datasets solving results. It uses Gnuplot and also generates a Gnuplot config file for each generated graph.

Instance Method Summary collapse

Constructor Details

#initialize(dataset_filenames, stats, out_dir) ⇒ GraphPrinter

Initializes printer for graph data (graphs, Gnuplot config files).

Parameters:

  • dataset_filenames (Array<String>)

    dataset filenames

  • stats (Hash)

    statistics of results

  • out_dir (String)

    statistics of results to print



13
14
15
16
17
# File 'lib/knapsack_solver/graph_printer.rb', line 13

def initialize(dataset_filenames, stats, out_dir)
  @dataset_basenames = file_basenames(dataset_filenames)
  @stats = stats
  @out_dir = out_dir
end

Instance Method Details

Create graphs from statistics and Gnuplot configuration files.



20
21
22
23
24
25
# File 'lib/knapsack_solver/graph_printer.rb', line 20

def print
  stats_to_datasets.each do |title, ds|
    ofn = File.join(@out_dir, title + '.png')
    plot(title, ds, ofn)
  end
end