chart_data.h
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include <string>
13 
14 namespace illumina { namespace interop { namespace model { namespace plot
15 {
16 
19  class chart_data
20  {
21  public:
26  void set_axes(const axes &xyaxes)
27  {
28  m_axes = xyaxes;
29  }
30 
35  void set_xaxis(const axis &xaxes)
36  {
37  m_axes.set_xaxis(xaxes);
38  }
39 
44  void set_yaxis(const axis &yaxes)
45  {
46  m_axes.set_yaxis(yaxes);
47  }
48 
53  void set_xlabel(const std::string &label)
54  {
55  m_axes.set_xlabel(label);
56  }
57 
62  void set_ylabel(const std::string &label)
63  {
64  m_axes.set_ylabel(label);
65  }
66 
74  void set_range(const float xmin, const float xmax, const float ymin, const float ymax)
75  {
76  set_xrange(xmin, xmax);
77  set_yrange(ymin, ymax);
78  }
79 
85  void set_xrange(const float vmin, const float vmax)
86  {
87  m_axes.set_xrange(vmin, vmax);
88  }
89 
95  void set_yrange(const float vmin, const float vmax)
96  {
97  m_axes.set_yrange(vmin, vmax);
98  }
99 
104  void set_title(const std::string &title)
105  {
106  m_title = title;
107  }
110  void clear()
111  {
112  m_axes.clear();
113  m_title = "";
114  }
115 
116  public:
129  const axis &x_axis() const
130  {
131  return m_axes.x();
132  }
133 
138  const axis &y_axis() const
139  {
140  return m_axes.y();
141  }
142 
147  const std::string &title() const
148  {
149  return m_title;
150  }
151 
156  const axes &xyaxes() const
157  {
158  return m_axes;
159  }
163  public:
164  friend std::ostream& operator<<(std::ostream& out, const chart_data& data)
165  {
166  out << data.m_title << ",";
167  out << data.m_axes;
168  return out;
169  }
170  friend std::istream& operator>>(std::istream& in, chart_data& data)
171  {
172  std::getline(in, data.m_title, ',');
173  in >> data.m_axes;
174  return in;
175  }
176 
177  private:
178  axes m_axes;
179  std::string m_title;
180  };
181 
182 
183 }}}}
184 
Definition: enum_description.h:15
void set_ylabel(const std::string &label)
Definition: axes.h:156
const axis & y() const
Definition: axes.h:221
void set_title(const std::string &title)
Definition: chart_data.h:104
void clear()
Definition: chart_data.h:110
const axis & x() const
Definition: axes.h:213
void set_yaxis(const axis &yaxes)
Definition: axes.h:172
void set_xrange(const float vmin, const float vmax)
Definition: axes.h:131
void set_xrange(const float vmin, const float vmax)
Definition: chart_data.h:85
const axis & y_axis() const
Definition: chart_data.h:138
void set_axes(const axes &xyaxes)
Definition: chart_data.h:26
void set_range(const float xmin, const float xmax, const float ymin, const float ymax)
Definition: chart_data.h:74
const std::string & title() const
Definition: chart_data.h:147
const axes & xyaxes() const
Definition: chart_data.h:156
const axis & x_axis() const
Definition: chart_data.h:129
void set_xlabel(const std::string &label)
Definition: chart_data.h:53
friend std::ostream & operator<<(std::ostream &out, const chart_data &data)
Definition: chart_data.h:164
void clear()
Definition: axes.h:178
void set_yrange(const float vmin, const float vmax)
Definition: chart_data.h:95
void set_ylabel(const std::string &label)
Definition: chart_data.h:62
friend std::istream & operator>>(std::istream &in, chart_data &data)
Definition: chart_data.h:170
void set_yaxis(const axis &yaxes)
Definition: chart_data.h:44
void set_yrange(const float vmin, const float vmax)
Definition: axes.h:140
void set_xaxis(const axis &xaxes)
Definition: chart_data.h:35
void set_xaxis(const axis &xaxes)
Definition: axes.h:164
void set_xlabel(const std::string &label)
Definition: axes.h:148