2011-10-03 32 views
5

Quiero incrustar un PNG de un gráfico que he creado con JFreeChart en un documento PDF. El problema aquí es que la calidad del gráfico es muy pobre. Mi objetivo es tener PNG con 300 DPI. Busqué en Google durante casi una hora pero no pude encontrar una solución.Mayor calidad de gráficos JFreeChart

¿Hay alguna forma de exportar los gráficos generados de JFreeCharts como PNG (o JPEG) con 300 DPI?

+0

¿cómo se exportan los gráficos? – peshkira

+0

@peshkira en este momento con ChartUtilities.saveChartAsPNG (nuevo archivo ("/ Users/myuser/test.png"), demo.getChart(), 1000,1000); Pero, por supuesto, estoy abierto a cualquier sugerencia que funcione con mis requisitos :) –

+1

Solo guárdelo en un tamaño más grande? 1000x1000 debería darle 300 ppp para una imagen de 3 x 3 pulgadas. – millimoose

Respuesta

1

también echar un vistazo a org.jfree.chart.ChartUtilities#writeScaledChartAsPNG

Si proporciona un factor de escala de 2, el gráfico se representará al doble de la resolución.

+2

El uso de un factor de escala de 2 reduce el tamaño de fuente en 2. Por lo tanto, no es una solución completa. – Uli

0

Puede usar XChart para esto, ya que exportar Charts en alta resolución a un determinado DPI es una característica nueva desde version 2.2.0. El código sería algo como esto:

double[] xData = new double[] { 0.0, 1.0, 2.0 }; 
double[] yData = new double[] { 2.0, 1.0, 0.0 }; 

// Create Chart 
Chart chart = QuickChart.getChart("Sample Chart", "X", "Y", "y(x)", xData, yData); 

// Show it 
new SwingWrapper(chart).displayChart(); 

// Save it 
BitmapEncoder.savePNG(chart, "./Sample_Chart.png"); // default 72 DPI 
BitmapEncoder.savePNGWithDPI(chart, "./Sample_Chart_300_DPI.png", 300); 

Descargo de responsabilidad: Soy el desarrollador principal de XChart. Hace poco tuve el mismo problema que tú. Necesitaba cuadros a 300 DPI para una publicación científica. Comentarios son bienvenidos!

+0

Gracias herrtim, XCharts se ve increíble. Definitivamente consideraré usarlo para mis próximos proyectos. –

Cuestiones relacionadas