JFreeChart使用
生活随笔
收集整理的這篇文章主要介紹了
JFreeChart使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近項(xiàng)目需要做圖形分析,就想到了使用JFreeChart,之前也沒有使用過,就現(xiàn)學(xué)先用吧。本文主要記錄一些主要的代碼及學(xué)習(xí)使用過程。
使用JFreeChart步驟:
一、下載JFreeChart.jar包(兩種方式),jar包:jfreechart-*.*.*.jar和jcommon-*.*.*.jar
1 //1、maven獲取 2 3 <dependency> 4 <groupId>org.jfree</groupId> 5 <artifactId>jfreechart</artifactId> 6 <version>1.0.19</version> 7 </dependency> 1 //2、官網(wǎng)下載最新的jar 2 http://sourceforge.net/projects/jfreechart/files/二、獲取數(shù)據(jù)集(模擬數(shù)據(jù))
1 private static DefaultCategoryDataset getDefaultDataset(){ 2 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 3 for(int i=1;i<=12;i++){ 4 dataset.addValue(RandomUtils.nextInt(100, 499), "活躍人數(shù)", i+""); 5 } 6 return dataset; 7 }三、生成圖標(biāo)對象JFreeChart
1 //創(chuàng)建折線圖jfreechart對象,可以查看下ChartFactory下的方法,創(chuàng)建其他類型的圖形 2 JFreeChart chart = ChartFactory.createLineChart("2015年度活躍人數(shù)", "月份", "人數(shù)", dataset,PlotOrientation.VERTICAL,true,false,false);?????ChartFactory的靜態(tài)創(chuàng)建各類圖形:
??????
四、配置JFreeChart圖形參數(shù)(主要是圖形樣式、字體樣式等)
1 CategoryPlot cp = chart.getCategoryPlot(); 2 cp.setBackgroundPaint(ChartColor.WHITE); // 背景色設(shè)置 3 cp.setRangeGridlinePaint(ChartColor.GRAY); // 網(wǎng)格橫線線色設(shè)置 4 cp.setDomainGridlinePaint(ChartColor.GRAY);//網(wǎng)格豎線 5 LineAndShapeRenderer renderer = (LineAndShapeRenderer) cp.getRenderer(); 6 renderer.setBaseItemLabelsVisible(true); 7 renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT)); 8 renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); 9 renderer.setBaseItemLabelFont(new Font("宋體", 5, 12));如果只是以上這些操作的話,會出現(xiàn)中文亂碼,還需要加上:
1 private static void processChart(JFreeChart chart) { 2 CategoryPlot plot = chart.getCategoryPlot(); 3 CategoryAxis domainAxis = plot.getDomainAxis(); 4 ValueAxis rAxis = plot.getRangeAxis(); 5 chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING, 6 RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); 7 TextTitle textTitle = chart.getTitle(); 8 textTitle.setFont(new Font("宋體", Font.PLAIN, 20)); 9 domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11)); 10 domainAxis.setLabelFont(new Font("宋體", Font.PLAIN, 12)); 11 rAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12)); 12 rAxis.setLabelFont(new Font("宋體", Font.PLAIN, 12)); 13 chart.getLegend().setItemFont(new Font("宋體", Font.PLAIN, 12)); 14 }詳細(xì)的圖表樣式,參考:http://blog.sina.com.cn/s/blog_6af9cfe80100ygf6.html
輸出的結(jié)果:
?
轉(zhuǎn)載于:https://www.cnblogs.com/quanenmin/p/4942153.html
總結(jié)
以上是生活随笔為你收集整理的JFreeChart使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA基础-常用的其他类
- 下一篇: hdu 2563