-
Notifications
You must be signed in to change notification settings - Fork 73
/
Copy pathexample3.cpp
64 lines (53 loc) · 2.37 KB
/
example3.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "pbPlots.hpp"
#include "supportLib.hpp"
using namespace std;
int main(){
bool success;
StringReference *errorMessage = CreateStringReferenceLengthValue(0, L' ');
RGBABitmapImageReference *imageReference = CreateRGBABitmapImageReference();
double xsa[] = {20.1, 7.1, 16.1, 14.9, 16.7, 8.8, 9.7, 10.3, 22, 16.2, 12.1, 10.3, 14.5, 12.4, 9.6, 12.2, 10.8, 14.7, 19.7, 11.2, 10.1, 11, 12.2, 9.2, 23.5, 9.4, 15.3, 9.6, 11.1, 5.3, 7.8, 25.3, 16.5, 12.6, 12, 11.5, 17.1, 11.2, 12.2, 10.6, 19.9, 14.5, 15.5, 17.4, 8.4, 10.3, 10.2, 12.5, 16.7, 8.5, 12.2};
vector<double> xs(xsa, xsa+sizeof(xsa)/sizeof(double));
double ysa[] = {31.5, 18.9, 35, 31.6, 22.6, 26.2, 14.1, 24.7, 44.8, 23.2, 31.4, 17.7, 18.4, 23.4, 22.6, 16.4, 21.4, 26.5, 31.7, 11.9, 20, 12.5, 18, 14.2, 37.6, 22.2, 17.8, 18.3, 28, 8.1, 14.7, 37.8, 15.7, 28.6, 11.7, 20.1, 30.1, 18.2, 17.2, 19.6, 29.2, 17.3, 28.2, 38.2, 17.8, 10.4, 19, 16.8, 21.5, 15.9, 17.7};
vector<double> ys(ysa, ysa+sizeof(ysa)/sizeof(double));
double xsb[] = {5, 25};
vector<double> xs2(xsb, xsb+sizeof(xsb)/sizeof(double));
double ysb[] = {12, 39};
vector<double> ys2(ysb, ysb+sizeof(ysb)/sizeof(double));
ScatterPlotSeries *series = GetDefaultScatterPlotSeriesSettings();
series->xs = &xs;
series->ys = &ys;
series->linearInterpolation = false;
series->pointType = toVector(L"dots");
series->color = CreateRGBColor(1, 0, 0);
ScatterPlotSeries *series2 = GetDefaultScatterPlotSeriesSettings();
series2->xs = &xs2;
series2->ys = &ys2;
series2->linearInterpolation = true;
series2->lineType = toVector(L"solid");
series2->lineThickness = 2;
series2->color = CreateRGBColor(0, 0, 1);
ScatterPlotSettings *settings = GetDefaultScatterPlotSettings();
settings->width = 600;
settings->height = 400;
settings->autoBoundaries = true;
settings->autoPadding = true;
settings->title = toVector(L"");
settings->xLabel = toVector(L"");
settings->yLabel = toVector(L"");
settings->scatterPlotSeries->push_back(series);
settings->scatterPlotSeries->push_back(series2);
success = DrawScatterPlotFromSettings(imageReference, settings, errorMessage);
if(success){
vector<double> *pngdata = ConvertToPNG(imageReference->image);
WriteToFile(pngdata, "example3.png");
DeleteImage(imageReference->image);
}else{
cerr << "Error: ";
for(wchar_t c : *errorMessage->string){
cerr << c;
}
cerr << endl;
}
FreeAllocations();
return success ? 0 : 1;
}