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
|
static AreaChart<Number, Number> spectograme = (new AreaChart<Number, Number>(xAxis, yAxis){
@Override
protected void layoutPlotChildren() {
javafx.scene.chart.XYChart.Data<Number, Number>[] series1 = AreaChartApp.getSeries1();
//ici c'est pour le nombre le graphe que vous avez mois j'en est que 1
for (int seriesIndex=0; seriesIndex < 1; seriesIndex++) {
Number X = series1[seriesIndex].getXValue().doubleValue();
Number Y = series1[seriesIndex].getYValue().doubleValue();
Series<Number, Number> series = getData().get(seriesIndex);
//Series<Number, Number> series = getData().get(seriesIndex);
// DoubleProperty seriesYAnimMultiplier = seriesYMultiplierMap.get(series);
boolean isFirst = true;
double lastX = 0;
Path seriesLine = (Path)((Group)series.getNode()).getChildren().get(1);
Path fillPath = (Path)((Group)series.getNode()).getChildren().get(0);
seriesLine.getElements().clear();
fillPath.getElements().clear();
Data<Number, Number> item;
// for (Data<X, Y> item = series.begin; item != null; item = item.next) {
//ici c'est pour le nombre le valeur que vous avez moi j'en est WIDHT
for (int i = 0; i < application.Ressource.WIDHT; i ++) {
item = series1[i];
double x = lastX = getXAxis().getDisplayPosition(item.getXValue());
//ici enfin c'est la que vous pouvez modifier l'origine du graphe avec +50 votre graphe couvrira la zone jusquà -50
//vous pourrez éventuellement rencontré un bug d'affichage non résolut a l'heure actuelle
//http://www.developpez.net/forums/showthread.php?t=1450663&referrerid=735672
double y = getYAxis().getDisplayPosition(
getYAxis().toRealValue(getYAxis().toNumericValue(item.getYValue()) /*+50*/ /** seriesYAnimMultiplier.getValue()*/));
if (isFirst) {
isFirst = false;
fillPath.getElements().add(new MoveTo(x, getYAxis().getZeroPosition()));
seriesLine.getElements().add(new MoveTo(x, y));
} else {
seriesLine.getElements().add(new LineTo(x, y));
}
fillPath.getElements().add(new LineTo(x, y));
Node symbol = item.getNode();
if (symbol != null) {
final double w = symbol.prefWidth(-1);
final double h = symbol.prefHeight(-1);
symbol.resizeRelocate(x-(w/2), y-(h/2),w,h);
}
}
//System.out.println(fillPath.getElements().size());
if (fillPath.getElements().size() >= 1) {
fillPath.getElements().add(new LineTo(lastX, getYAxis().getZeroPosition()));
} else {
fillPath.getElements().add(new MoveTo(lastX, getYAxis().getZeroPosition()));
}
fillPath.getElements().add(new ClosePath());
}
}
}
); |
Partager