JFreeChart插件
生活随笔
收集整理的這篇文章主要介紹了
JFreeChart插件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JFreeChart的核心對象。
1. 制圖對象
JFreeChart的類是制圖對象。常用方法:
方法 說明
Void setAntiAlias(Boolean flag) 設置字體邊界模糊
Void setBackgroundImage(Image img) 設置背景圖片
Void setBackgroundImageAlignment(int alignment) 設置背景圖片的對齊方式,其參數常量定義在org.jfree.ui.Align類中
Void setBackgroundImageAlpha(float alpa) 設置背景圖片的透明度
Void setBackgroundPaint(Paint paint) 設置背景顏色
Void setBorderPaint(Paint paint) 設置邊界線條顏色
Void setBorderVisible(Boolean visible) 設置邊界線條是否可見2. 制圖工廠對象
ChartFactory工廠類創建JFreeChart對象。常用方法:
圖表類型 方法 說明
柱形圖 Static JFreeChart createBarChart() 創建一個常規的柱形圖對象Static JFreeChart createBarChart3D() 創建一個常規的3D柱形圖對象
餅狀圖 Static JFreeChart createPieChart() 創建一個常規的餅形圖Static JFreeChart createPieChart3D() 創建一個常規的3D餅形圖
區域圖 Static JFreeChart createAreaChart() 創建一個常規區域圖
折線圖 Static JFreeChart createLineChart() 創建一個常規的折線圖Static JFreeChart createLineChart3D() 創建一個常規的3D折線圖
時序圖 Static JFreeChart createTimeSeriesChart() 創建一個常規的時序圖創建對象實例:
JFreeChart chart=ChartFactory.createPieChart3D(“餅形圖”,initPieData(),true,true,false);
5個參數介紹:第一個參數為圖表的標題;第二個參數為餅形圖的數據對象;第三個參數是否顯示圖例;第四個參數為是否提示文本;第五個參數是否生成超鏈接。3. 數據集合對象
Dataset接口是數據集合的核心對象。JFreeChart類的數據對象都是實現了此接口。
常用數據集合對象:
數據集合對象 說明
DefaultCategoryDataset 默認的類別數據集合對象,可用于創建柱形圖、區域圖數據集合
DefaultPieDataset 默認的餅狀圖數據集合對象,可用于創建餅狀圖數據集合
XYSeriesCollection 描述坐標軸序列類型的數據集合,可用于創建折線圖等數據集合
TimeSeriesCollection 描述時間序列的數據集合,可用于創建時序圖的數據集合實例:
//實例化對象
DefaultCategoryDataset dd=new DefaultCategoryDataset();
//添加數據
dd.addValue(100,”長春”,”土豆”);4. 繪圖區對象
繪圖區對象為Plot類,有3個常用的子類。PiePlot類、CategoryPlot類、XYPlot類。
Plot類常用方法:
方法 說明
Void setBackgroundImage(Image img) 設置數據區的背景圖片
Void setBackgroundImageAlignment(int align) 設置數據區的背景圖片對齊方式,參數在org.jfree.ui.Align類中
Void setBackgroundAlpha(float alpha) 設置數據區的背景透明度,范圍為0.0~1.0
Void setForegroundAlpha(float alpha) 設置數據區的前景透明度,范圍為0.0~1.0
Void setDataAreaRatio(double ratio) 設置數據區占整個圖表區的百分比
Void setOutLinePaint(Paint paint) 設置數據區的邊界線條顏色
Void setNoDataMessage(String meg) 設置沒有數據時顯示的消息PiePlot類常用方法:
方法 說明
Void setDataset(PieDataset data) 設置繪圖制表所需要的數據集合
Void setCircular(Boolean flag) 設置餅狀圖是否一定是正圓
Void setStartAngle(double angle) 設置餅狀圖的初始角度
Void setDirection(Rotation direction) 設置餅狀圖的旋轉方向
Void setExplodePercent(int section,double percent) 設置抽取圖標的部分及距離
Void setLabelFont(Font font) 設置分類標簽字體(3D效果下無效)
Void setLabelPaint(Paint paint) 設置分類標簽字體顏色(3D效果下無效)CategoryPlot類常用的方法:
方法 說明
Void setDataset(CategoryDataset data) 設置繪圖制表所需要的數據集合
Void setColumnRenderingOrder(SortOrder order) 設置數據分類排序方式
Void setAxisOffset(Spacer offset) 設置坐標到數據區的間距
Void setOrientation(PlotOrientation or) 設置數據區的方向(橫向或縱向)
Void setDomainAxis(CategoryAxis axis) 設置數據區的分類軸
Void setRangeAxis(ValueAxis axis) 設置數據區的數據軸
Void addAnnotation(CategoryAnnotation ann) 設置數據區的注釋XYPlot類常用方法:
方法 說明
ValueAxis getDomainAxis() 返回x軸
ValueAxis getRangeAxis() 返回Y軸
Void setDomainAxis(valueAxis axis) 設置X軸
Void setRanageAxis(valueAxis axis) 設置Y軸5. 坐標軸對象
Axis對象是父類,子類有:CategoryAxis類、ValueAxis類、NumberAxis類、DateAxis類。
Axis常用方法:
方法 說明
Void setVisible(Boolean flag) 設置坐標軸是否可見
Void setAxisLinePaint(Paint p) 設置坐標軸的顏色,3D效果下無效
Void setAxisLineVisible(Boolean b) 設置坐標軸的線條是否可見
Void setLabel(String label) 設置坐標軸的標題
Void setLabelFont(Font font) 設置坐標軸的字體
Void setLabelPaint(Paint p) 設置坐標軸標題顏色
Void setLabelAngle(double ang) 設置坐標軸標題選擇角度CategoryAxis類的常用方法
方法 說明
Void setCategoryMargin(double mg) 設置分類軸邊距
Void setLowerMargin(double mg) 設置分類軸下邊距或左邊距
Void setUpperMargin(double mg) 設置分類軸上邊距或右邊距
Void setVerticalCategoryLabels(Boolean b) 設置分類軸標題是否旋轉到垂直
Void setMaxCategoryLabelWidthRatio(float r) 設置分類軸分類標題的最大寬度ValueAxis類常用方法:
方法 說明
Void setAutoRange(Boolean b) 設置數據軸數據范圍是否為自動
Void setFixedAutoRange(double length) 設置數據軸固定數據范圍
Void setInverted(Boolean flag) 設置數據軸是否反向
Void setLowerMargin(double mg) 設置數據軸下邊距或左邊距
Void setUpperMargin(double mg) 設置數據軸上邊距或右邊距
Void setLowerBound(double min) 設置數據軸上的顯示最小值
Void setUpperBound(double max) 設置數據軸上的顯示最大值NumberAxis類常用方法:
方法 說明
Void setAutoRangeIncludesZero(Boolean b) 設置是否強制在自動選擇的數據范圍中包含0
Void setAutoRangeStickyZero(Boolean b) 設置是否強制在整個數據軸中包含0,即使0不在數據范圍中
Void setNumberFormatOverride(NumberFormat ft) 設置數據軸數據標簽的顯示格式DateAxis類常用方法:
方法 說明
Void setMaximumDate(Date max) 設置日期軸上的最大日期
Void setMinimumDate(Date min) 設置日期軸上的最小日期
Void setDateFormatOverride(DateFormat fmt) 設置日期軸上日期標簽的顯示格式
Void setTickUnit(DateTickUnit un) 設置日期軸的日期標簽6. 渲染圖片對象
AbstractRender類圖片渲染對象,常用方法為:
方法 說明
Void setItemLabelAnchorOffset(double os) 設置數據標簽與數據點的偏移
Void setItemLabelsVisible(Boolean b) 設置數據標簽是否可見
Void setItemLabelFont(Font f) 設置數據標簽的字體
Void setItemLabelPaint(Paint p) 設置數據標簽的字體顏色
Void setOutLinePaint(Paint p) 設置圖形邊框的線條顏色
Void setPaint(paint p) 設置所有分類圖形的顏色
Void setSeriesItemLabelsVisible(int I,Boolean b) 設置分類的數據標簽是否可見
Void setSeriesItemLabelFont(int I,Font f) 設置分類的數據標簽的字體
Void setSeriesItemLabelPaint(int I,Paint p) 設置分類的數據標簽的字體顏色實例
public class ChartUtil {/*** 創建數據集合* @return CategoryDataset對象*/public static CategoryDataset createDataSet(){//創建數據DefaultCategoryDataset對象用于創建柱形圖DefaultCategoryDataset dset=new DefaultCategoryDataset();//添加數據dset.addValue(100, "java圖書", "SE類");dset.addValue(600, "java圖書", "EE類");dset.addValue(780, "java圖書", "ME類");return dset;} /*** 創建JFreeChart對象* @return JFreeChart對象*/
public static JFreeChart createChart(){//設置圖表主題樣式類StandardChartTheme stme=new StandardChartTheme("CN");//設置標題字體//stme.setExtraLargeFont(new Font("隸書",Font.BOLD,20));//設置圖例的字體//stme.setRegularFont(new Font("微軟雅黑",Font.PLAIN,10));//設置軸向的字體//stme.setLargeFont(new Font("微軟雅黑",Font.PLAIN,10));//創建JFreeChart對象JFreeChart chart=ChartFactory.createBarChart("Java 圖", "Java EE", "XL", createDataSet());return chart;
}
}Jsp頁面代碼
使用img標簽配置Src是要將路徑設置好,就是JfreeChart生成圖片的路徑
<%@ page
import="java.util.*,org.jfree.chart.servlet.*,com.wgh.ChartUtil" %>
……
<%//使用ServletUtilities類的saveChartAsJPEG方法將圖表轉化為圖片顯示
String fileName=ServletUtilities.saveChartAsJPEG(ChartUtil.createChart(), 400, 300,session);%>
<%=fileName %><img src="temp/<%=fileName%>">
?
轉載于:https://www.cnblogs.com/gynbk/p/6556277.html
總結
以上是生活随笔為你收集整理的JFreeChart插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: k8s1.5.4挂载volume之nfs
- 下一篇: 衔接上一学期:排球积分规则