gtsam_points
Loading...
Searching...
No Matches
plot_data.hpp
Go to the documentation of this file.
1#ifndef GUIK_PLOT_DATA_HPP
2#define GUIK_PLOT_DATA_HPP
3
4#include <memory>
5#include <vector>
6#include <string>
7#include <Eigen/Core>
8
9namespace guik {
10
11struct PlotData {
12public:
13 using Ptr = std::shared_ptr<PlotData>;
14 using ConstPtr = std::shared_ptr<const PlotData>;
15
16 PlotData(const std::string& label) : label(label) {}
17 virtual ~PlotData() {}
18
19 virtual void plot() const {}
20
21public:
22 std::string label;
23};
24
25struct LinePlotData : public PlotData {
26public:
27 LinePlotData(const std::string& label) : PlotData(label), line_flags(0) {}
29
30 virtual void plot() const override;
31
32public:
34 std::vector<double> xs;
35 std::vector<double> ys;
36};
37
38struct ScatterPlotData : public PlotData {
39public:
40 ScatterPlotData(const std::string& label) : PlotData(label), scatter_flags(0) {}
42
43 virtual void plot() const override;
44
45public:
47 std::vector<double> xs;
48 std::vector<double> ys;
49};
50
51struct StairsPlotData : public PlotData {
52public:
53 StairsPlotData(const std::string& label) : PlotData(label), stairs_flags(0) {}
55
56 virtual void plot() const override;
57
58public:
60 std::vector<double> xs;
61 std::vector<double> ys;
62};
63
64struct HistogramPlotData : public PlotData {
65public:
66 HistogramPlotData(const std::string& label)
67 : PlotData(label),
69 x_bins(-2),
70 y_bins(-2),
71 x_range_min(0.0),
72 x_range_max(0.0),
73 y_range_min(0.0),
74 y_range_max(0.0) {}
76
77 virtual void plot() const override;
78
79public:
81 int x_bins;
82 int y_bins;
87 std::vector<double> xs;
88 std::vector<double> ys;
89};
90
91struct PlotStyle {
92public:
93 virtual ~PlotStyle() {}
94
95 virtual void apply() const = 0;
96};
97
98struct LinePlotStyle : public PlotStyle {
99public:
100 LinePlotStyle() : col(0, 0, 0, -1), weight(-1) {}
101
102 virtual void apply() const override;
103
104public:
105 Eigen::Vector4f col;
106 float weight;
107};
108
110public:
111 ScatterPlotStyle() : marker(0), size(-1), fill(0, 0, 0, -1), weight(-1), outline(0, 0, 0, -1) {}
112
113 virtual void apply() const override;
114
115public:
117 float size;
118 Eigen::Vector4f fill;
119 float weight;
120 Eigen::Vector4f outline;
121};
122
123} // namespace guik
124
125#endif
Definition drawable_container.hpp:9
Definition plot_data.hpp:64
int histogram_flags
Definition plot_data.hpp:80
double y_range_max
Definition plot_data.hpp:86
std::vector< double > ys
Definition plot_data.hpp:88
~HistogramPlotData()
Definition plot_data.hpp:75
HistogramPlotData(const std::string &label)
Definition plot_data.hpp:66
int x_bins
Definition plot_data.hpp:81
double y_range_min
Definition plot_data.hpp:85
int y_bins
Definition plot_data.hpp:82
double x_range_min
Definition plot_data.hpp:83
virtual void plot() const override
std::vector< double > xs
Definition plot_data.hpp:87
double x_range_max
Definition plot_data.hpp:84
Definition plot_data.hpp:25
std::vector< double > xs
Definition plot_data.hpp:34
LinePlotData(const std::string &label)
Definition plot_data.hpp:27
int line_flags
Definition plot_data.hpp:33
std::vector< double > ys
Definition plot_data.hpp:35
virtual void plot() const override
~LinePlotData()
Definition plot_data.hpp:28
Definition plot_data.hpp:98
float weight
Definition plot_data.hpp:106
LinePlotStyle()
Definition plot_data.hpp:100
Eigen::Vector4f col
Definition plot_data.hpp:105
virtual void apply() const override
Definition plot_data.hpp:11
virtual ~PlotData()
Definition plot_data.hpp:17
std::shared_ptr< const PlotData > ConstPtr
Definition plot_data.hpp:14
std::string label
Definition plot_data.hpp:22
PlotData(const std::string &label)
Definition plot_data.hpp:16
std::shared_ptr< PlotData > Ptr
Definition plot_data.hpp:13
virtual void plot() const
Definition plot_data.hpp:19
Definition plot_data.hpp:91
virtual ~PlotStyle()
Definition plot_data.hpp:93
virtual void apply() const =0
Definition plot_data.hpp:38
~ScatterPlotData()
Definition plot_data.hpp:41
virtual void plot() const override
int scatter_flags
Definition plot_data.hpp:46
ScatterPlotData(const std::string &label)
Definition plot_data.hpp:40
std::vector< double > xs
Definition plot_data.hpp:47
std::vector< double > ys
Definition plot_data.hpp:48
Definition plot_data.hpp:109
int marker
Definition plot_data.hpp:116
float size
Definition plot_data.hpp:117
Eigen::Vector4f fill
Definition plot_data.hpp:118
virtual void apply() const override
float weight
Definition plot_data.hpp:119
Eigen::Vector4f outline
Definition plot_data.hpp:120
ScatterPlotStyle()
Definition plot_data.hpp:111
Definition plot_data.hpp:51
virtual void plot() const override
int stairs_flags
Definition plot_data.hpp:59
~StairsPlotData()
Definition plot_data.hpp:54
StairsPlotData(const std::string &label)
Definition plot_data.hpp:53
std::vector< double > xs
Definition plot_data.hpp:60
std::vector< double > ys
Definition plot_data.hpp:61