3 #ifndef ROBOWFLEX_IO_GNUPLOT_
4 #define ROBOWFLEX_IO_GNUPLOT_
11 #include <boost/process.hpp>
111 boost::process::opstream input_;
113 boost::process::ipstream error_;
114 boost::process::child gnuplot_;
void writeline(const std::string &line)
void operator=(Instance const &)=delete
void write(const std::string &line)
Instance()
Constructor. Setups up pipe to GNUPlot.
Instance(Instance const &)=delete
Helper class to open a pipe to a GNUPlot instance for live visualization of data.
std::map< std::string, std::shared_ptr< Instance > > instances_
Map of open GNUPlot instances.
void operator=(GNUPlotHelper const &)=delete
std::shared_ptr< Instance > getInstance(const std::string &name)
Get the named GNUPlot instance.
void boxplot(const BoxPlotOptions &options)
Plot box data.
GNUPlotHelper(GNUPlotHelper const &)=delete
void timeseries(const TimeSeriesOptions &options)
Plot timeseries data.
void configurePlot(const PlottingOptions &options)
Configure a plot using common options.
Helper class to plot a real metric as a box plot using GNUPlot from benchmarking data.
const std::string metric_
~GNUPlotPlanDataSetOutputter() override
Destructor.
void dump(const PlanDataSet &results) override
Visualize results.
GNUPlotPlanDataSetOutputter(const std::string &metric)
Constructor.
An abstract class for outputting benchmark results.
Detailed statistics about a benchmark of multiple queries.
Main namespace. Contains all library classes and functions.
std::map< std::string, Values > values
Map of names to data.
double max
Upper axis limit. If NaN, will auto-adjust.
double min
Lower axis limit. If NaN, will auto-adjust.
std::string label
Axis label.
std::string title
Title of the plot.
std::string mode
Terminal mode for GNUPlot.
Time series plotting options.
std::map< std::string, Series > points
Map of names to time series data.