自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JFreeChart最佳實踐:3D餅圖

開發(fā) 后端
本文將介紹作者通過Java最佳圖形解決方案JFreeChart實現(xiàn)3D餅圖的詳細(xì)過程。

早在公司實習(xí)的時候就有調(diào)研過JFreeChart,那會也只是大概的研究一下沒怎么的深入,其牛B的特效讓我記憶猶新,這幾天突然有很強的求勝欲望很想來把它搞懂。

 一、首先JFreeChart是JFreeChart公司在開源網(wǎng)站SourceForge.net上的一個項目,報表解決工具。我們可以從jfree官方網(wǎng)站上獲取***版本(***的版本是1.0.13)和相關(guān)資料(但花美金才能獲取)。

獲取地址:http://www.jfree.org/jfreechart/index.html(同時可以獲得簡明介紹)

我是當(dāng)前版本:jfreechart-1.0.13為例子進(jìn)行說明。

二、JFreeChart配置

 1、解壓jfreechart-1.0.13.zip到指定位置,其中source是jfreechart的源碼,jfreechart-1.0.13- demo.jar 是例子程序(該部分留給大家自己去研究)

 2、為了配置成功,我們需要關(guān)注的文件有如下三個:

 lib\jfreechart-1.0.13.jar,l

 lib\jcommon-1.0.13.jar,

 lib\-1.0.13.jar

 三、JFreeChart功能介紹

JFreeChart目前是***的java圖形解決方案,基本能夠解決目前的圖形方面的需求,主要包括如下幾個方面:(態(tài)圖表,餅圖(二維和三維) , 柱狀圖 (水平,垂直),線圖,點圖,時間變化圖,甘特圖, 股票行情圖,混和圖, 溫度計圖, 刻度圖等常用商用圖表) 圖形可以導(dǎo)出成PNG和JPEG格式,

這就只來個簡單的介紹了,要想更仔細(xì)的來了解JFreeChart的結(jié)構(gòu).那就Google吧!Google永遠(yuǎn)是我們***選擇的。

今天就首先來拿2D/3D餅圖(createPieChart/createPieChart3D)小試牛刀。

  1. package com.huawei.jfreechart;  
  2. import java.awt.BasicStroke;  
  3. import java.awt.Color;  
  4. import java.awt.Font;  
  5. import org.jfree.chart.ChartFactory;  
  6. import org.jfree.chart.ChartFrame;  
  7. import org.jfree.chart.JFreeChart;  
  8. import org.jfree.chart.labels.StandardPieToolTipGenerator;  
  9. import org.jfree.chart.plot.PiePlot;  
  10. import org.jfree.chart.plot.PiePlot3D;  
  11. import org.jfree.chart.title.TextTitle;  
  12. import org.jfree.data.general.DefaultPieDataset;  
  13.  
  14. /**  
  15.  * @name 何楓  
  16.  * @date 2010-12-14  
  17.  * @action jfreechartTest.java  
  18.  * @time 下午07:16:19  
  19.  * @package_name com.huawei.jfreechart  
  20.  * @project_name jfreechartTest  
  21.  */ 
  22. public class JfreeChartTest {  
  23.  
  24.     public static void main(String[] args) {  
  25.  
  26.         // 創(chuàng)建餅圖數(shù)據(jù)對象  
  27.  
  28.         DefaultPieDataset dfp = new DefaultPieDataset();  
  29.  
  30.         dfp.setValue("管理人員"25);  
  31.  
  32.         dfp.setValue("市場人員"35);  
  33.  
  34.         dfp.setValue("開發(fā)人員"20);  
  35.  
  36.         dfp.setValue("后勤人員"5);  
  37.  
  38.         dfp.setValue("財務(wù)人員"15);  
  39.  
  40.         // 餅狀圖的解決辦法  
  41.         // createpieChart3D創(chuàng)建3D餅圖  
  42.         // createpieChart創(chuàng)建餅圖  
  43.         JFreeChart chart = ChartFactory.createPieChart3D("CityInfoPort公司組織架構(gòu)圖",dfp, truetruetrue);  
  44.         // 圖片背景色  
  45.         chart.setBackgroundPaint(Color.red);  
  46.         // 設(shè)置標(biāo)題文字  
  47.         ChartFrame frame = new ChartFrame("CityInfoPort公司組織架構(gòu)圖 ",chart, true);  
  48.         // 取得餅圖plot對象  
  49.         // PiePlot plot = (PiePlot) chart.getPlot();  
  50.         // 取得3D餅圖對象  
  51.         PiePlot3D plot = (PiePlot3D) chart.getPlot();  
  52.         // 圖形邊框顏色  
  53.         plot.setBaseSectionOutlinePaint(Color.RED);  
  54.         // plot.setBaseSectionPaint(Color.WHITE);  
  55.         // 圖形邊框粗細(xì)  
  56.         plot.setBaseSectionOutlineStroke(new BasicStroke(1.0f));  
  57.  
  58.         // 指定圖片的透明度(0.0-1.0)  
  59.         plot.setForegroundAlpha(0.65f);  
  60.         // 指定顯示的餅圖上圓形(false)還橢圓形(true)  
  61.         plot.setCircular(true);  
  62.  
  63.         // 設(shè)置***個 餅塊section 的開始位置,默認(rèn)是12點鐘方向  
  64.         plot.setStartAngle(360);  
  65.         // 設(shè)置鼠標(biāo)懸停提示  
  66.         plot.setToolTipGenerator(new StandardPieToolTipGenerator());  
  67.  
  68.         // 設(shè)置突出顯示的數(shù)據(jù)塊  
  69.         plot.setExplodePercent("One"0.1D);  
  70.         // 設(shè)置餅圖各部分標(biāo)簽字體  
  71.         plot.setLabelFont(new Font("宋體", Font.ITALIC, 20));  
  72.         // 設(shè)置分餅顏色  
  73.         plot.setSectionPaint(0new Color(244194144));  
  74.         // plot.setSectionPaint("2", new Color(144, 233, 144));  
  75.         // 設(shè)置圖例說明Legend上的文字  
  76.         chart.getLegend().setItemFont(new Font("宋體", Font.PLAIN, 30));  
  77.         // 定義字體格式  
  78.         Font font = new java.awt.Font("黑體", java.awt.Font.CENTER_BASELINE,50);  
  79.         TextTitle title = new TextTitle("項目狀態(tài)分布");  
  80.         title.setFont(font);  
  81.         // 設(shè)置字體,非常關(guān)鍵不然會出現(xiàn)亂碼的,下方的字體  
  82.         chart.setTitle(title);  
  83.         frame.pack();  
  84.         frame.setVisible(true);  
  85.  
  86.     }  
  87.  

原文鏈接:http://hefeng1987-net-163-com.iteye.com/blog/842248

【編輯推薦】

  1. JFreeChart***實踐:折線圖
  2. JFreeChart***實踐:柱狀圖
  3. JFreeChart***實踐:3D餅圖
  4. JFreeChart***實踐:時序圖
  5. JFreeChart***實踐:甘特圖
責(zé)任編輯:林師授 來源: 何楓abc的博客
相關(guān)推薦

2011-12-21 13:44:33

JavaJFreeChart

2011-12-21 12:58:41

JavaJFreeChart

2011-12-21 14:34:33

JavaJFreeChart

2011-12-21 13:35:39

JavaJFreeChart

2011-12-21 13:52:27

JavaJFreeChart

2011-12-21 14:15:08

JavaJFreeChart

2011-12-21 13:25:33

JavaJFreeChart

2017-07-21 11:28:57

前端Threejs3D地圖

2011-09-22 10:07:52

奧圖碼投影儀

2022-09-19 19:16:42

輪播圖has

2024-07-16 12:02:11

2023-06-03 08:06:20

項目開發(fā)客戶端

2024-03-20 15:51:00

AI數(shù)據(jù)

2011-10-06 13:30:45

宏碁投影儀

2012-11-26 12:51:44

木材3D打

2024-12-10 15:17:11

2009-04-02 13:44:59

linuxOpenSUSE安裝界面

2011-08-22 14:28:48

奧圖碼投影機(jī)

2011-07-13 09:16:16

蘋果觸屏3D

2011-05-26 10:05:07

優(yōu)派投影機(jī)
點贊
收藏

51CTO技術(shù)棧公眾號