Je suis en train de créer (série chronologique) un graphique de montagne en utilisant JFreeChart. Donc, j'ai fait 2 timeseries - les données un et celui avec toutes les valeurs de gamme sont zéro. Puis, j'ai utilisé XYDifferenceRenderer pour remplir l'espace entre 2 séries avec la couleur désirée.Tracer avec grille au-dessus de XYDifferenceRenderer
code pour créer le tableau et définir renderer:
final JFreeChart chart = garch_differencechart(url);//my method to create the chart//
final ChartPanel chartPanel = new ChartPanel(chart);
final XYPlot plot = (XYPlot) chart.getPlot();
chart.setBackgroundPaint(Color.WHITE);
plot.setBackgroundPaint(Color.WHITE);
XYDifferenceRenderer renderer = new XYDifferenceRenderer();
renderer.setPositivePaint(new Color(202, 225, 255));
renderer.setSeriesPaint(0, new Color(72, 118, 255));
renderer.setSeriesStroke(0, new BasicStroke(1.2f));
plot.setRenderer(renderer);
code pour définir GridLines visible:
plot.setDomainGridlinesVisible(true);
plot.setDomainGridlinePaint(new Color(234,234,234));
plot.setDomainGridlineStroke(new BasicStroke(0.5f));
plot.setRangeGridlinesVisible(true);
plot.setRangeGridlinePaint(new Color(234,234,234));
plot.setRangeGridlineStroke(new BasicStroke(0.5f));
Cependant, le moteur de rendu couvert de gridline de l'intrigue (il semble que le gridline a été peint avant le XYDifferenceRenderer).
Comment puis-je obtenir le tracé avec gridline au-dessus de XYDifferenceRenderer?
@trashgold: J'ai édité par question! –
Oui, dans l'espace HSB, ces couleurs sont assez proches, les deux ayant une très faible saturation. Pour obtenir le quadrillage, vous devez modifier l'ordre de rendu spécifié dans ['draw()'] (http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/plot/ XYPlot.html # dessine% 28java.awt.Graphics2D,% 20java.awt.geom.Rectangle2D,% 20java.awt.geom.Point2D,% 20org.jfree.chart.plot.PlotState,% 20org.jfree.chart.plot. PlotRenderingInfo% 29). – trashgod
@trashgold: Donc, je dois sous-classer XYPlot pour remplacer la méthode draw()? Mais je ne peux pas trouver de méthode dans la classe JFreeChart pour définir mon intrigue, quelque chose comme: chart.setPlot (// ma sous-classe //)? –