21 #ifndef GNUPLOT_HELPER_H
22 #define GNUPLOT_HELPER_H
27 #include "ns3/object-factory.h"
29 #include "ns3/probe.h"
30 #include "ns3/gnuplot-aggregator.h"
31 #include "ns3/time-series-adaptor.h"
66 GnuplotHelper (
const std::string &outputFileNameWithoutExtension,
67 const std::string &title,
68 const std::string &xLegend,
69 const std::string &yLegend,
70 const std::string &terminalType =
"png");
90 void ConfigurePlot (
const std::string &outputFileNameWithoutExtension,
91 const std::string &title,
92 const std::string &xLegend,
93 const std::string &yLegend,
94 const std::string &terminalType =
"png");
122 void PlotProbe (
const std::string &typeId,
123 const std::string &path,
124 const std::string &probeTraceSource,
125 const std::string &title,
160 void AddProbe (
const std::string &typeId,
161 const std::string &probeName,
162 const std::string &path);
180 const std::string &matchIdentifier,
181 const std::string &path,
182 const std::string &probeTraceSource,
183 const std::string &title);
192 std::map<std::string, std::pair <Ptr<Probe>, std::string> >
m_probeMap;
220 #endif // GNUPLOT_HELPER_H
void ConnectProbeToAggregator(const std::string &typeId, const std::string &matchIdentifier, const std::string &path, const std::string &probeTraceSource, const std::string &title)
Connects the probe to the aggregator.
Smart pointer class similar to boost::intrusive_ptr.
void PlotProbe(const std::string &typeId, const std::string &path, const std::string &probeTraceSource, const std::string &title, enum GnuplotAggregator::KeyLocation keyLocation=GnuplotAggregator::KEY_INSIDE)
void AddTimeSeriesAdaptor(const std::string &adaptorName)
Adds a time series adaptor to be used to make the plot.
std::map< std::string, std::pair< Ptr< Probe >, std::string > > m_probeMap
Maps probe names to probes.
std::string m_xLegend
Legend for the x axis.
GnuplotHelper()
Constructs a gnuplot helper that will create a space separated gnuplot data file named "gnuplot-helpe...
uint32_t m_plotProbeCount
Number of plot probes that have been created.
ObjectFactory m_factory
Used to create the probes and collectors as they are added.
std::string m_outputFileNameWithoutExtension
The name of the output file to created without its extension.
void ConfigurePlot(const std::string &outputFileNameWithoutExtension, const std::string &title, const std::string &xLegend, const std::string &yLegend, const std::string &terminalType="png")
Ptr< GnuplotAggregator > m_aggregator
The aggregator used to make the plots.
void AddProbe(const std::string &typeId, const std::string &probeName, const std::string &path)
Adds a probe to be used to make the plot.
std::map< std::string, Ptr< TimeSeriesAdaptor > > m_timeSeriesAdaptorMap
Maps time series adaptor names to time series adaptors.
void ConstructAggregator()
Constructs the aggregator.
KeyLocation
The location of the key in the plot.
Helper class used to make gnuplot plots.
Ptr< GnuplotAggregator > GetAggregator()
Gets the aggregator.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Instantiate subclasses of ns3::Object.
Ptr< Probe > GetProbe(std::string probeName) const
Gets the specified probe.
std::string m_yLegend
Legend for the y axis.
std::string m_title
Title string to use for this plot.
std::string m_terminalType
Terminal type for the plot.