Suppression JFreeChart paddings

Suppression JFreeChart paddings - Java - Programmation

Marsh Posté le 25-11-2008 à 09:26:10    

Bonjour,
 
J'utilise JFreeChart et je voudrais supprimer les paddings entre l'objet XYPlot et les bordures de l'image générée avec "ChartUtilities.saveChartAsPNG", mais rien ne marche.
 
J'ai essayé beaucoup de choses et le mieux que je puisse obtenir est en utilisant le code suivant :
 
PlotGeneratorTest plotGen = new PlotGeneratorTest("SIN-1", new Date().getTime());
 
XYDataset dataset = plotGen.createDataset(dataUrl);
 
long start = System.currentTimeMillis();
JFreeChart chart = ChartFactory.createTimeSeriesChart(null,
null,
null,
dataset,
false,
false,
false);
 
chart.setBackgroundImageAlpha(0);
LegendTitle title = chart.getLegend();
title.setItemLabelPadding(new RectangleInsets(0.0, 0.0, 0.0, 0.0));
title.setPadding(new RectangleInsets(0.0, 0.0, 0.0, 0.0));
/*
* BasicStroke stroke = new BasicStroke(0, BasicStroke.CAP_BUTT,
* BasicStroke.JOIN_MITER); chart.setBorderStroke(stroke);
* chart.setBorderVisible(false);
*/
chart.setPadding(new RectangleInsets(0.0, 0.0, 0.0, 0.0));
 
XYPlot plot = (XYPlot) chart.getPlot();
plot.setBackgroundPaint(Color.LIGHT_GRAY);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
 
plot.setAxisOffset(new RectangleInsets(0.0, 0.0, 0.0, 0.0));
plot.getDomainAxis().setVisible(false);
plot.getRangeAxis().setVisible(false);
 
try {
ChartUtilities.saveChartAsPNG(new File(chartFileName), chart, plotGen.getWidth(), plotGen.getHeight());
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("chart created in " + (System.currentTimeMillis() - start) + " ms" );

 
Est-ce que quelqu'un saurait me dire comment obtenir une image avec seulement le plot et sans marges blanches autour ?
 
Merci par avance,
 
Eva

Reply

Marsh Posté le 25-11-2008 à 09:26:10   

Reply

Marsh Posté le 22-06-2009 à 12:46:07    

Il semblerait que ce soit due à l'espace réservé aux Label.  
Pour le corriger :  
plot.setInteriorGap(0);

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed