2011-10-03 100 views
5

我想将使用JFreeChart创建的图表的PNG嵌入到PDF文档中。这里的问题是,图表的质量很差。我的目标是拥有300 DPI的PNG。我搜索了近一个小时,但我找不到解决方案。JFreeChart图表质量更高

有没有办法将生成的图表从JFreeCharts作为PNG(或JPEG)以300 DPI导出?

+0

你如何导出图表? – peshkira

+0

@peshkira目前与ChartUtilities.saveChartAsPNG(新文件(“/用户/ myuser/test.png”),demo.getChart(),1000,1000);但我当然愿意接受任何符合我的要求的建议:) –

+1

只需将它保存在更大的尺寸? 1000x1000应该为您提供300dpi的3in x 3图像。 – millimoose

回答

0

您可以使用XChart为此,因为出口Charts在某些DPI的高分辨率是自version 2.2.0以来的新功能。代码看起来像这样:

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); 

声明:我是XChart的首席开发人员。我最近面临与你完全相同的问题。我需要300 DPI的图表来发表科学出版物。欢迎反馈!

+0

谢谢herrtim,XCharts看起来很棒。我一定会考虑将它用于我的下一个项目。 –