Skip to content

Commit ecb8c5e

Browse files
committed
Added ability to specify color array for each point - this will allow to have a gradient coloring from low to high points (see main function in GridPlot3D.java as other plots' samples just use random colors rather than gradient)
1 parent d493c7b commit ecb8c5e

22 files changed

+1008
-107
lines changed

src/main/java/org/math/plot/Plot2DPanel.java

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,26 @@ public int addScatterPlot(String name, Color color, double[][] XY) {
7474
return ((Plot2DCanvas) plotCanvas).addScatterPlot(name, color, XY);
7575
}
7676

77+
public int addScatterPlot(String name, Color[] color, double[][] XY) {
78+
return ((Plot2DCanvas) plotCanvas).addScatterPlot(name, color, XY);
79+
}
80+
7781
public int addScatterPlot(String name, Color color, double[] Y) {
7882
return ((Plot2DCanvas) plotCanvas).addScatterPlot(name, color, Y);
7983
}
8084

85+
public int addScatterPlot(String name, Color[] color, double[] Y) {
86+
return ((Plot2DCanvas) plotCanvas).addScatterPlot(name, color, Y);
87+
}
88+
8189
public int addScatterPlot(String name, Color color, double[] X, double[] Y) {
8290
return ((Plot2DCanvas) plotCanvas).addScatterPlot(name, color, X,Y);
8391
}
8492

93+
public int addScatterPlot(String name, Color[] color, double[] X, double[] Y) {
94+
return ((Plot2DCanvas) plotCanvas).addScatterPlot(name, color, X,Y);
95+
}
96+
8597
public int addScatterPlot(String name, double[][] XY) {
8698
return addScatterPlot(name, getNewColor(), XY);
8799
}
@@ -121,14 +133,26 @@ public int addLinePlot(String name, Color color, double[][] XY) {
121133
return ((Plot2DCanvas) plotCanvas).addLinePlot(name, color, XY);
122134
}
123135

136+
public int addLinePlot(String name, Color[] color, double[][] XY) {
137+
return ((Plot2DCanvas) plotCanvas).addLinePlot(name, color, XY);
138+
}
139+
124140
public int addLinePlot(String name, Color color, double[] Y) {
125141
return ((Plot2DCanvas) plotCanvas).addLinePlot(name, color, Y);
126142
}
127143

144+
public int addLinePlot(String name, Color[] color, double[] Y) {
145+
return ((Plot2DCanvas) plotCanvas).addLinePlot(name, color, Y);
146+
}
147+
128148
public int addLinePlot(String name, Color color, double[] X, double[] Y) {
129149
return ((Plot2DCanvas) plotCanvas).addLinePlot(name, color, X,Y);
130150
}
131151

152+
public int addLinePlot(String name, Color[] color, double[] X, double[] Y) {
153+
return ((Plot2DCanvas) plotCanvas).addLinePlot(name, color, X,Y);
154+
}
155+
132156
public int addLinePlot(String name, double[][] XY) {
133157
return addLinePlot(name, getNewColor(), XY);
134158
}
@@ -168,14 +192,26 @@ public int addBarPlot(String name, Color color, double[][] XY) {
168192
return ((Plot2DCanvas) plotCanvas).addBarPlot(name, color, XY);
169193
}
170194

195+
public int addBarPlot(String name, Color[] color, double[][] XY) {
196+
return ((Plot2DCanvas) plotCanvas).addBarPlot(name, color, XY);
197+
}
198+
171199
public int addBarPlot(String name, Color color, double[] Y) {
172200
return ((Plot2DCanvas) plotCanvas).addBarPlot(name, color, Y);
173201
}
174202

203+
public int addBarPlot(String name, Color[] color, double[] Y) {
204+
return ((Plot2DCanvas) plotCanvas).addBarPlot(name, color, Y);
205+
}
206+
175207
public int addBarPlot(String name, Color color, double[] X, double[] Y) {
176208
return ((Plot2DCanvas) plotCanvas).addBarPlot(name, color, X,Y);
177209
}
178210

211+
public int addBarPlot(String name, Color[] color, double[] X, double[] Y) {
212+
return ((Plot2DCanvas) plotCanvas).addBarPlot(name, color, X,Y);
213+
}
214+
179215
public int addBarPlot(String name, double[][] XY) {
180216
return addBarPlot(name, getNewColor(), XY);
181217
}
@@ -215,14 +251,26 @@ public int addStaircasePlot(String name, Color color, double[][] XY) {
215251
return ((Plot2DCanvas) plotCanvas).addStaircasePlot(name, color, XY);
216252
}
217253

254+
public int addStaircasePlot(String name, Color[] color, double[][] XY) {
255+
return ((Plot2DCanvas) plotCanvas).addStaircasePlot(name, color, XY);
256+
}
257+
218258
public int addStaircasePlot(String name, Color color, double[] Y) {
219259
return ((Plot2DCanvas) plotCanvas).addStaircasePlot(name, color, Y);
220260
}
221261

262+
public int addStaircasePlot(String name, Color[] color, double[] Y) {
263+
return ((Plot2DCanvas) plotCanvas).addStaircasePlot(name, color, Y);
264+
}
265+
222266
public int addStaircasePlot(String name, Color color, double[] X,double[] Y) {
223267
return ((Plot2DCanvas) plotCanvas).addStaircasePlot(name, color, X,Y);
224268
}
225269

270+
public int addStaircasePlot(String name, Color[] color, double[] X,double[] Y) {
271+
return ((Plot2DCanvas) plotCanvas).addStaircasePlot(name, color, X,Y);
272+
}
273+
226274
public int addStaircasePlot(String name, double[][] XY) {
227275
return addStaircasePlot(name, getNewColor(), XY);
228276
}
@@ -256,6 +304,10 @@ public int addBoxPlot(String name, Color color, double[][] XY, double[][] dXdY)
256304
return ((Plot2DCanvas) plotCanvas).addBoxPlot(name, color, XY, dXdY);
257305
}
258306

307+
public int addBoxPlot(String name, Color[] color, double[][] XY, double[][] dXdY) {
308+
return ((Plot2DCanvas) plotCanvas).addBoxPlot(name, color, XY, dXdY);
309+
}
310+
259311
public int addBoxPlot(String name, double[][] XY, double[][] dXdY) {
260312
return addBoxPlot(name, getNewColor(), XY, dXdY);
261313
}
@@ -279,6 +331,10 @@ public int addBoxPlot(String name, Color color, double[][] XYdXdY) {
279331
return ((Plot2DCanvas) plotCanvas).addBoxPlot(name, color, XYdXdY);
280332
}
281333

334+
public int addBoxPlot(String name, Color[] color, double[][] XYdXdY) {
335+
return ((Plot2DCanvas) plotCanvas).addBoxPlot(name, color, XYdXdY);
336+
}
337+
282338
public int addBoxPlot(String name, double[][] XYdXdY) {
283339
return addBoxPlot(name, getNewColor(), XYdXdY);
284340
}
@@ -303,6 +359,10 @@ public int addHistogramPlot(String name, Color color, double[][] XY, double[] dX
303359
return ((Plot2DCanvas) plotCanvas).addHistogramPlot(name, color, XY, dX);
304360
}
305361

362+
public int addHistogramPlot(String name, Color[] color, double[][] XY, double[] dX) {
363+
return ((Plot2DCanvas) plotCanvas).addHistogramPlot(name, color, XY, dX);
364+
}
365+
306366
public int addHistogramPlot(String name, double[][] XY, double[] dX) {
307367
return addHistogramPlot(name, getNewColor(), XY, dX);
308368
}
@@ -311,6 +371,10 @@ public int addHistogramPlot(String name, Color color, double[][] XYdX) {
311371
return ((Plot2DCanvas) plotCanvas).addHistogramPlot(name, color, XYdX);
312372
}
313373

374+
public int addHistogramPlot(String name, Color[] color, double[][] XYdX) {
375+
return ((Plot2DCanvas) plotCanvas).addHistogramPlot(name, color, XYdX);
376+
}
377+
314378
/**
315379
* Adds a histogram plot to the current plot panel. Each data point is as
316380
* vertical bar which width can be set.
@@ -342,6 +406,10 @@ public int addHistogramPlot(String name, Color color, double[] sample, int n) {
342406
return ((Plot2DCanvas) plotCanvas).addHistogramPlot(name, color, sample, n);
343407
}
344408

409+
public int addHistogramPlot(String name, Color[] color, double[] sample, int n) {
410+
return ((Plot2DCanvas) plotCanvas).addHistogramPlot(name, color, sample, n);
411+
}
412+
345413
public int addHistogramPlot(String name, double[] X, int n) {
346414
return addHistogramPlot(name, getNewColor(), X, n);
347415
}
@@ -360,6 +428,10 @@ public int addHistogramPlot(String name, Color color, double[] sample, double...
360428
return ((Plot2DCanvas) plotCanvas).addHistogramPlot(name, color, sample, bounds);
361429
}
362430

431+
public int addHistogramPlot(String name, Color[] color, double[] sample, double... bounds) {
432+
return ((Plot2DCanvas) plotCanvas).addHistogramPlot(name, color, sample, bounds);
433+
}
434+
363435
public int addHistogramPlot(String name, double[] X, double... bounds) {
364436
return addHistogramPlot(name, getNewColor(), X, bounds);
365437
}
@@ -368,6 +440,10 @@ public int addHistogramPlot(String name, Color color, double[] X, double min, do
368440
return ((Plot2DCanvas) plotCanvas).addHistogramPlot(name, color, X, min, max, n);
369441
}
370442

443+
public int addHistogramPlot(String name, Color[] color, double[] X, double min, double max, int n) {
444+
return ((Plot2DCanvas) plotCanvas).addHistogramPlot(name, color, X, min, max, n);
445+
}
446+
371447
public int addHistogramPlot(String name, double[] X, double min, double max, int n) {
372448
return addHistogramPlot(name, getNewColor(), X, min, max, n);
373449
}
@@ -376,6 +452,10 @@ public int addCloudPlot(String name, Color color, double[][] sampleXY, int nX, i
376452
return ((Plot2DCanvas) plotCanvas).addCloudPlot(name, color, sampleXY, nX,nY);
377453
}
378454

455+
public int addCloudPlot(String name, Color[] color, double[][] sampleXY, int nX, int nY) {
456+
return ((Plot2DCanvas) plotCanvas).addCloudPlot(name, color, sampleXY, nX,nY);
457+
}
458+
379459
public int addCloudPlot(String name, double[][] sampleXY, int nX, int nY) {
380460
return addCloudPlot(name, getNewColor(), sampleXY, nX,nY);
381461
}
@@ -399,4 +479,28 @@ public int addPlot(String type, String name, Color color, double[]... XY) {
399479
}
400480
}
401481

482+
@Override
483+
public int addPlot(String type, String name, Color[] color, double[]... XY) {
484+
if (type.equalsIgnoreCase(SCATTER)) {
485+
return addScatterPlot(name, color, XY);
486+
} else if (type.equalsIgnoreCase(LINE)) {
487+
return addLinePlot(name, color, XY);
488+
} else if (type.equalsIgnoreCase(BAR)) {
489+
return addBarPlot(name, color, XY);
490+
} else if (type.equalsIgnoreCase(STAIRCASE)) {
491+
return addStaircasePlot(name, color, XY);
492+
} else if (type.equalsIgnoreCase(HISTOGRAM)) {
493+
return addHistogramPlot(name, color, XY);
494+
} else if (type.equalsIgnoreCase(BOX)) {
495+
return addBoxPlot(name, color, XY);
496+
} else {
497+
throw new IllegalArgumentException("Plot type is unknown : " + type);
498+
}
499+
}
500+
501+
@Override
502+
public int addPlot(String type, String name, Color[][] color, double[]... XY) {
503+
throw new IllegalArgumentException("Plot type is unknown : " + type);
504+
}
505+
402506
}

0 commit comments

Comments
 (0)