a simple class to generate gnuplot-ready plotting commands from a set of datasets. More...
#include "gnuplot.h"
Public Member Functions | |
Gnuplot (const std::string &outputFilename="", const std::string &title="") | |
void | AddDataset (const GnuplotDataset &dataset) |
void | AppendExtra (const std::string &extra) |
void | GenerateOutput (std::ostream &os) |
Writes gnuplot commands and data values to a single output stream. | |
void | GenerateOutput (std::ostream &osControl, std::ostream &osData, std::string dataFileName) |
Writes gnuplot commands and data values to two different outputs streams. | |
void | SetDataFileDatasetIndex (unsigned int index) |
Sets the current data stream index in the data file. | |
void | SetExtra (const std::string &extra) |
void | SetLegend (const std::string &xLegend, const std::string &yLegend) |
void | SetOutputFilename (const std::string &outputFilename) |
void | SetTerminal (const std::string &terminal) |
void | SetTitle (const std::string &title) |
Static Public Member Functions | |
static std::string | DetectTerminal (const std::string &filename) |
Crude attempt to auto-detect the correct terminal setting by inspecting the filename's extension. | |
Private Types | |
typedef std::vector< GnuplotDataset > | Datasets |
Type for Datasets to be used in plots. | |
Private Attributes | |
unsigned int | m_dataFileDatasetIndex |
Data set index to plot. | |
Datasets | m_datasets |
Data sets. | |
std::string | m_extra |
extra parameters for the plot | |
bool | m_generateOneOutputFile |
true if only one plot will be generated | |
std::string | m_outputFilename |
Output file name. | |
std::string | m_terminal |
Gnuplot "terminal" to use. | |
std::string | m_title |
Plot title. | |
std::string | m_xLegend |
X axis legend. | |
std::string | m_yLegend |
Y axis legend. | |
a simple class to generate gnuplot-ready plotting commands from a set of datasets.
This class really represents a single graph on which multiple datasets can be plotted.
|
private |
ns3::Gnuplot::Gnuplot | ( | const std::string & | outputFilename = "", |
const std::string & | title = "" ) |
outputFilename | the name of the file where the rendering of the graph will be generated if you feed the command stream output by Gnuplot::GenerateOutput to the gnuplot program. |
title | title line of the plot page |
Definition at line 716 of file gnuplot.cc.
void ns3::Gnuplot::AddDataset | ( | const GnuplotDataset & | dataset | ) |
dataset | add a dataset to the graph to be plotted. |
Definition at line 785 of file gnuplot.cc.
References m_datasets.
Referenced by ns3::GnuplotAggregator::Add2dDataset(), anonymous_namespace{gnuplot-example.cc}::Create2DPlotFile(), anonymous_namespace{gnuplot-example.cc}::Create2DPlotWithErrorBarsFile(), anonymous_namespace{gnuplot-example.cc}::Create3DPlotFile(), Ns3TcpCubicTestCase::DoRun(), TestDeterministic(), TestDeterministicByTime(), and TestProbabilistic().
void ns3::Gnuplot::AppendExtra | ( | const std::string & | extra | ) |
extra | append extra gnuplot directive for output. |
Definition at line 778 of file gnuplot.cc.
References m_extra.
Referenced by ns3::GnuplotAggregator::~GnuplotAggregator(), ns3::GnuplotAggregator::AppendExtra(), anonymous_namespace{gnuplot-example.cc}::Create2DPlotFile(), anonymous_namespace{gnuplot-example.cc}::Create2DPlotWithErrorBarsFile(), anonymous_namespace{gnuplot-example.cc}::Create3DPlotFile(), ns3::GnuplotAggregator::SetKeyLocation(), TestDeterministic(), TestDeterministicByTime(), and TestProbabilistic().
|
static |
Crude attempt to auto-detect the correct terminal setting by inspecting the filename's extension.
filename | output filename |
Definition at line 732 of file gnuplot.cc.
void ns3::Gnuplot::GenerateOutput | ( | std::ostream & | os | ) |
Writes gnuplot commands and data values to a single output stream.
os | the output stream on which the relevant gnuplot commands should be generated. Including output file and terminal headers. |
Definition at line 791 of file gnuplot.cc.
References GenerateOutput(), and m_generateOneOutputFile.
Referenced by ns3::GnuplotAggregator::~GnuplotAggregator(), anonymous_namespace{gnuplot-example.cc}::Create2DPlotFile(), anonymous_namespace{gnuplot-example.cc}::Create2DPlotWithErrorBarsFile(), anonymous_namespace{gnuplot-example.cc}::Create3DPlotFile(), Ns3TcpCubicTestCase::DoRun(), and GenerateOutput().
void ns3::Gnuplot::GenerateOutput | ( | std::ostream & | osControl, |
std::ostream & | osData, | ||
std::string | dataFileName ) |
Writes gnuplot commands and data values to two different outputs streams.
osControl | the output stream on which the relevant gnuplot control commands should be generated. Including output file and terminal headers. |
osData | the output stream on which the relevant gnuplot data values should be generated. |
dataFileName | the name for the data file that will be written. |
Definition at line 802 of file gnuplot.cc.
References m_dataFileDatasetIndex, m_datasets, m_extra, m_generateOneOutputFile, m_outputFilename, m_terminal, m_title, m_xLegend, m_yLegend, and NS_ASSERT_MSG.
void ns3::Gnuplot::SetDataFileDatasetIndex | ( | unsigned int | index | ) |
Sets the current data stream index in the data file.
index | the index for the data stream in the data file. |
Definition at line 888 of file gnuplot.cc.
References m_dataFileDatasetIndex.
void ns3::Gnuplot::SetExtra | ( | const std::string & | extra | ) |
extra | set extra gnuplot directive for output. |
Definition at line 772 of file gnuplot.cc.
References m_extra.
Referenced by ns3::GnuplotAggregator::SetExtra().
void ns3::Gnuplot::SetLegend | ( | const std::string & | xLegend, |
const std::string & | yLegend ) |
xLegend | the legend for the x horizontal axis |
yLegend | the legend for the y vertical axis |
Definition at line 765 of file gnuplot.cc.
References m_xLegend, and m_yLegend.
Referenced by anonymous_namespace{gnuplot-example.cc}::Create2DPlotFile(), anonymous_namespace{gnuplot-example.cc}::Create2DPlotWithErrorBarsFile(), Ns3TcpCubicTestCase::DoRun(), and ns3::GnuplotAggregator::SetLegend().
void ns3::Gnuplot::SetOutputFilename | ( | const std::string & | outputFilename | ) |
outputFilename | the name of the file where the rendering of the graph will be generated if you feed the command stream output by Gnuplot::GenerateOutput to the gnuplot program. |
Definition at line 726 of file gnuplot.cc.
References m_outputFilename.
Referenced by ns3::GnuplotAggregator::SetTerminal().
void ns3::Gnuplot::SetTerminal | ( | const std::string & | terminal | ) |
terminal | terminal setting string for output. The default terminal string is "png" |
Definition at line 753 of file gnuplot.cc.
References m_terminal.
Referenced by anonymous_namespace{gnuplot-example.cc}::Create2DPlotFile(), anonymous_namespace{gnuplot-example.cc}::Create2DPlotWithErrorBarsFile(), anonymous_namespace{gnuplot-example.cc}::Create3DPlotFile(), Ns3TcpCubicTestCase::DoRun(), and ns3::GnuplotAggregator::SetTerminal().
void ns3::Gnuplot::SetTitle | ( | const std::string & | title | ) |
title | set new plot title string to use for this plot. |
Definition at line 759 of file gnuplot.cc.
References m_title.
Referenced by anonymous_namespace{gnuplot-example.cc}::Create2DPlotFile(), anonymous_namespace{gnuplot-example.cc}::Create2DPlotWithErrorBarsFile(), anonymous_namespace{gnuplot-example.cc}::Create3DPlotFile(), and ns3::GnuplotAggregator::SetTitle().
|
private |
Data set index to plot.
Definition at line 463 of file gnuplot.h.
Referenced by GenerateOutput(), and SetDataFileDatasetIndex().
|
private |
Data sets.
Definition at line 454 of file gnuplot.h.
Referenced by AddDataset(), and GenerateOutput().
|
private |
extra parameters for the plot
Definition at line 459 of file gnuplot.h.
Referenced by AppendExtra(), GenerateOutput(), and SetExtra().
|
private |
true if only one plot will be generated
Definition at line 461 of file gnuplot.h.
Referenced by GenerateOutput(), and GenerateOutput().
|
private |
Output file name.
Definition at line 451 of file gnuplot.h.
Referenced by GenerateOutput(), and SetOutputFilename().
|
private |
Gnuplot "terminal" to use.
Definition at line 452 of file gnuplot.h.
Referenced by GenerateOutput(), and SetTerminal().
|
private |
Plot title.
Definition at line 456 of file gnuplot.h.
Referenced by GenerateOutput(), and SetTitle().
|
private |
X axis legend.
Definition at line 457 of file gnuplot.h.
Referenced by GenerateOutput(), and SetLegend().
|
private |
Y axis legend.
Definition at line 458 of file gnuplot.h.
Referenced by GenerateOutput(), and SetLegend().