a simple class to generate gnuplot-ready plotting commands from a set of datasets. More...
#include "gnuplot.h"
 Collaboration diagram for ns3::Gnuplot:
 Collaboration diagram for ns3::Gnuplot:| 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().