PicoScenes API Docs
 
Loading...
Searching...
No Matches
WebPlotService.hxx
Go to the documentation of this file.
1//
2// PlotService.hxx
3// PlotService接口定义
4//
5
6#ifndef PICOSCENES_PLATFORM_PLOTSERVICE_HXX
7#define PICOSCENES_PLATFORM_PLOTSERVICE_HXX
8
9#include <memory>
10#include <string>
11#include <vector>
12#include <complex>
13#include <utility>
14#include <deque>
15
23public:
29 enum class PlotCategory {
31 Platform,
32 Plugin
33 };
34
38 enum class ChartType {
39 Line,
40 Scatter
41 };
42
48 struct PlotConfig {
49 std::string xAxisLabel{"xLabel"};
50 std::string yAxisLabel{"yLabel"};
51 double xMin{0};
52 double xMax{100};
53 double yMin{0};
54 double yMax{100};
55 };
56
61 static std::shared_ptr<WebPlotService> getInstance();
62
71 bool plot(const PlotCategory category, const std::string& chartname, const ChartType charttype, const std::vector<std::vector<std::pair<int16_t, double>>>& data) {
72 return plot(category, chartname, charttype, data, PlotConfig());
73 }
82 bool plot(const PlotCategory category, const std::string& chartname, const ChartType charttype, const std::vector<std::deque<std::pair<double, double>>>& data) {
83 return plot(category, chartname, charttype, data, PlotConfig());
84 }
93 bool plot(const PlotCategory category, const std::string& chartname, const ChartType charttype, const std::deque<std::pair<double, double>>& data) {
94 return plot(category, chartname, charttype, data, PlotConfig());
95 }
96
106 virtual bool plot(PlotCategory category, const std::string& chartname, ChartType charttype, const std::vector<std::vector<std::pair<int16_t, double>>>& data, const PlotConfig& config) = 0;
107
117 virtual bool plot(PlotCategory category, const std::string& chartname, ChartType charttype, const std::vector<std::deque<std::pair<double, double>>>& data, const PlotConfig& config) = 0;
118
128 virtual bool plot(PlotCategory category, const std::string& chartname, ChartType charttype, const std::deque<std::pair<double, double>>& data, const PlotConfig& config) = 0;
129
133 virtual ~WebPlotService() = default;
134};
135
136#endif // PICOSCENES_PLATFORM_PLOTSERVICE_HXX
提供Web绘图服务的接口类。
ChartType
定义支持的图表类型。
virtual bool plot(PlotCategory category, const std::string &chartname, ChartType charttype, const std::deque< std::pair< double, double > > &data, const PlotConfig &config)=0
绘制EVM、CFO、SFO数据的核心接口。
PlotCategory
定义图表的分类。
@ Plugin
插件相关图表
@ Platform
平台相关图表
@ Performance
性能相关图表
bool plot(const PlotCategory category, const std::string &chartname, const ChartType charttype, const std::vector< std::vector< std::pair< int16_t, double > > > &data)
绘制幅度、相位数据的便利接口(使用默认配置)。
virtual bool plot(PlotCategory category, const std::string &chartname, ChartType charttype, const std::vector< std::vector< std::pair< int16_t, double > > > &data, const PlotConfig &config)=0
绘制幅度、相位数据的核心接口。
virtual bool plot(PlotCategory category, const std::string &chartname, ChartType charttype, const std::vector< std::deque< std::pair< double, double > > > &data, const PlotConfig &config)=0
绘制RSS数据的核心接口。
static std::shared_ptr< WebPlotService > getInstance()
获取WebPlotService的单例实例。
bool plot(const PlotCategory category, const std::string &chartname, const ChartType charttype, const std::deque< std::pair< double, double > > &data)
绘制EVM、CFO、SFO数据的便利接口(使用默认配置)。
bool plot(const PlotCategory category, const std::string &chartname, const ChartType charttype, const std::vector< std::deque< std::pair< double, double > > > &data)
绘制RSS数据的便利接口(使用默认配置)。
virtual ~WebPlotService()=default
虚析构函数。
图表配置结构体。
std::string yAxisLabel
Y轴标签
std::string xAxisLabel
X轴标签