最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java類中使用Jfreechart的簡(jiǎn)單實(shí)例

 更新時(shí)間:2013年08月22日 15:43:45   作者:  
這篇文章介紹了java類中使用Jfreechart的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下

package com.chart.test;

復(fù)制代碼 代碼如下:

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpSession;

import oracle.jrockit.jfr.openmbean.JFRStatsType;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.LegendTitle;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.RectangleEdge;


public class ChartTest
{
public static void main(String[] args){
ChartTest test=new ChartTest();
test.generateFile(test.getChart());
}

public JFreeChart getChart(){
String series1 ="First";
String series2 ="Second";

String type1 ="Type 1";
String type2 ="Type 2";
String type3 ="Type 3";
String type4 ="Type 4";
String type5 ="Type 5";
String type6 ="Type 6";
String type7 ="Type 7";
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
defaultcategorydataset.addValue(1.0D, series1, type1);
defaultcategorydataset.addValue(4D, series1, type2);
defaultcategorydataset.addValue(3D, series1, type3);
defaultcategorydataset.addValue(5D, series1, type4);
defaultcategorydataset.addValue(5D, series1, type5);
defaultcategorydataset.addValue(7D, series1, type6);
defaultcategorydataset.addValue(7D, series1, type7);


defaultcategorydataset.addValue(5D, series2, type1);
defaultcategorydataset.addValue(7D, series2, type2);
defaultcategorydataset.addValue(6D, series2, type3);
defaultcategorydataset.addValue(8D, series2, type4);
defaultcategorydataset.addValue(4D, series2, type5);
defaultcategorydataset.addValue(4D, series2, type6);
defaultcategorydataset.addValue(2D, series2, type7);


JFreeChart jfreechart = ChartFactory.createLineChart("Line Chart Demo 1","Type","Value",defaultcategorydataset,PlotOrientation.VERTICAL,true,true,false);
//  ChartFactory.createLineChart(title, categoryAxisLabel, valueAxisLabel, dataset, orientation, legend, tooltips, urls)
//  上面語(yǔ)句legend設(shè)置為false時(shí),表示新建的jfreechart無圖例,為true時(shí),自帶圖例,默認(rèn)位置為底部。
jfreechart.getLegend().setPosition(RectangleEdge.RIGHT);//獲取圖例,設(shè)置位置

//  LegendTitle legendTitle = new LegendTitle(jfreechart.getPlot());//創(chuàng)建圖例,若有默認(rèn)的,仍然創(chuàng)建,此時(shí)存在兩個(gè)。
//  legendTitle.setPosition(RectangleEdge.RIGHT);//設(shè)置圖例的位置
//  jfreechart.addLegend(legendTitle);//圖表中添加圖例

jfreechart.setBackgroundPaint(Color.white);//設(shè)置圖例的背景色

CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();

categoryplot.setBackgroundPaint(Color.lightGray);
categoryplot.setDomainGridlinesVisible(true);
categoryplot.setRangeGridlinesVisible(true);
categoryplot.setDomainGridlinePaint(Color.white);//設(shè)置橫坐標(biāo)網(wǎng)格線
categoryplot.setRangeGridlinePaint(Color.white);//設(shè)置縱坐標(biāo)網(wǎng)格線

// 1、對(duì)標(biāo)題
Font font1 = new Font("黑體",Font.BOLD, 14); // 設(shè)定字體、類型、字號(hào)
jfreechart.getTitle().setFont(font1); // 標(biāo)題

// 3、下面的方塊區(qū)域是 LegendTitle 對(duì)象
Font font3 = new Font("隸書",Font.BOLD, 12); // 設(shè)定字體、類型、字號(hào)
jfreechart.getLegend().setItemFont(font3);// 最下方
// 這是處理Pl(wèi)ot里面的橫軸,同理可以正理豎軸
CategoryAxis categoryaxis = categoryplot.getDomainAxis(); // 橫軸上的
//縱坐標(biāo)換行顯示
//  categoryaxis.setMaximumCategoryLabelLines(10);//行數(shù),根據(jù)需要自己設(shè)
//  categoryaxis.setMaximumCategoryLabelWidthRatio(0.5f);//每行寬度,這里設(shè)一個(gè)漢字寬

categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);// 45度傾斜,可以改成其他,默認(rèn)是水平

NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());// 數(shù)據(jù)軸的數(shù)據(jù)標(biāo)簽(可以只顯示整數(shù)標(biāo)簽,需要將AutoTickUnitSelection設(shè)false)
numberaxis.setAutoRangeIncludesZero(true);//是否強(qiáng)制在自動(dòng)選擇的數(shù)據(jù)范圍中包含0

categoryaxis.setTickLabelFont(new Font("SansSerif",Font.BOLD, 12));//坐標(biāo)軸標(biāo)尺值字體
numberaxis.setTickLabelFont(new Font("SimSun", Font.BOLD, 12));//
// 2、對(duì)圖里面的漢字設(shè)定,也就是Pl(wèi)ot的設(shè)定
Font font2 = new Font("SimSun", Font.BOLD, 16); // 設(shè)定字體、類型、字號(hào)
categoryaxis.setLabelFont(font2);//坐標(biāo)軸標(biāo)題字體
numberaxis.setLabelFont(font2);

 

LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer)categoryplot.getRenderer();
lineandshaperenderer.setShapesVisible(true); //series 點(diǎn)(即數(shù)據(jù)點(diǎn))可見

lineandshaperenderer.setSeriesStroke(0, new BasicStroke(2.0F, 1, 1, 1.0F, new float[] {
10F, 6F
}, 0.0F)); //定義series為"First"的(即series1)點(diǎn)之間的連線 ,這里是虛線,默認(rèn)是直線
lineandshaperenderer.setSeriesStroke(1, new BasicStroke(2.0F, 1, 1, 1.0F, new float[] {
6F, 6F
}, 0.0F)); //定義series為"Second"的(即series2)點(diǎn)之間的連線

return jfreechart;    //返回Jfreechart
}

public void generateFile(JFreeChart chart){
  String fileName = null;
  try {
    ChartUtilities.saveChartAsJPEG(new File("C:\\PieChart.jpg"),chart,600,600); //生成圖表文件到指定位置
  } catch (IOException e)
  {
  e.printStackTrace();
  }
}
public String getFileName(JFreeChart chart,HttpSession session,PrintWriter pw){
  String fileName = null;
  ChartRenderingInfo info=new ChartRenderingInfo(new StandardEntityCollection());
  try {
    fileName = ServletUtilities.saveChartAsPNG(chart, 700, 450, info, session);  //生成臨時(shí)文件
    ChartUtilities.writeImageMap(pw, fileName, info, false);
    pw.flush();
  }
  catch (IOException e)
  {
  e.printStackTrace();
  }

  //  String graphURL = request.getContextPath()+ "/servlet/DisplayChart?fileName=" + fileName;
  //  request.setAttribute("fileName",fileName);
  // request.setAttribute("graphURL",graphURL);
  return fileName;//返回生成圖片的文件名 ,傳入jsp
 }

}


jsp中使用:
復(fù)制代碼 代碼如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="com.chart.test.*"%>
<%@ page import = "java.io.PrintWriter" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
ChartTest chart=new ChartTest();
String fileName=chart.getFileName(chart.getChart(), session, new PrintWriter(out));
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + fileName;
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'JspChart.jsp' starting page</title>
</head>

<body>

<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="<%= fileName %>">
</body>
</html>

相關(guān)文章

  • Java中BigDecimal類的簡(jiǎn)單用法

    Java中BigDecimal類的簡(jiǎn)單用法

    這篇文章主要介紹了Java中BigDecimal類的簡(jiǎn)單用法,是Java應(yīng)用程序開發(fā)中非常實(shí)用的技巧,本文以實(shí)例形式對(duì)此進(jìn)行了簡(jiǎn)單的分析,需要的朋友可以參考下
    2014-09-09
  • 聊聊springboot?整合?hbase的問題

    聊聊springboot?整合?hbase的問題

    這篇文章主要介紹了springboot?整合?hbase的問題,文中給大家提到配置linux服務(wù)器hosts及配置window?hosts的相關(guān)知識(shí),需要的朋友可以參考下
    2021-11-11
  • 高內(nèi)聚低耦合原則_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    高內(nèi)聚低耦合原則_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    耦合度就是某模塊(類)與其它模塊(類)之間的關(guān)聯(lián)、感知和依賴的程度,是衡量代碼獨(dú)立性的一個(gè)指標(biāo),也是軟件工程設(shè)計(jì)及編碼質(zhì)量評(píng)價(jià)的一個(gè)標(biāo)準(zhǔn)
    2017-08-08
  • 使用 Java8 實(shí)現(xiàn)觀察者模式的方法(下)

    使用 Java8 實(shí)現(xiàn)觀察者模式的方法(下)

    這篇文章主要介紹了使用 Java8 實(shí)現(xiàn)觀察者模式的方法(下)的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • 詳解什么是Java線程池的拒絕策略?

    詳解什么是Java線程池的拒絕策略?

    今天給大家總結(jié)一下線程池的拒絕策略,文中有非常詳細(xì)的介紹及代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • 淺析Java中JSONObject和JSONArray使用

    淺析Java中JSONObject和JSONArray使用

    這篇文章主要介紹了Java中JSONObject和JSONArray使用的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • Springmvc restful配置遇到的小坑

    Springmvc restful配置遇到的小坑

    本文是小編給大家?guī)Я说腟pringmvc restful配置遇到的小小坑,小編給大家?guī)砹藛栴}原因及解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧
    2016-07-07
  • Java實(shí)現(xiàn)單鏈表的操作

    Java實(shí)現(xiàn)單鏈表的操作

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)單鏈表的操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 區(qū)分Java的方法覆蓋與變量覆蓋

    區(qū)分Java的方法覆蓋與變量覆蓋

    作為初學(xué)者2個(gè)比較容易出錯(cuò)的定義,方法覆蓋和變量覆蓋。下面我們一起來看看作者如何去探討Java的方法覆蓋和變量覆蓋。
    2015-09-09
  • Spring Bean三級(jí)緩存機(jī)制的技術(shù)指南

    Spring Bean三級(jí)緩存機(jī)制的技術(shù)指南

    在 Spring 框架中,Bean 的創(chuàng)建和管理是容器的核心功能之一,了提高性能,Spring 采用了多級(jí)緩存機(jī)制來減少不必要的對(duì)象創(chuàng)建和配置,本文將詳細(xì)介紹 Spring 中 Bean 三級(jí)緩存的實(shí)現(xiàn)原理,并通過代碼示例幫助你理解這個(gè)機(jī)制的工作方式,需要的朋友可以參考下
    2025-04-04

最新評(píng)論

怀来县| 和田市| 固原市| 桦甸市| 浦县| 岢岚县| 芦溪县| 鄂尔多斯市| 磴口县| 横峰县| 府谷县| 辽阳县| 正镶白旗| 那曲县| 邛崃市| 湘潭县| 泸水县| 顺义区| 平陆县| 凯里市| 务川| 靖宇县| 定兴县| 高淳县| 洱源县| 合水县| 青川县| 千阳县| 正安县| 甘南县| 隆昌县| 舞钢市| 舒城县| 文化| 嵩明县| 措美县| 兴安盟| 南澳县| 桐乡市| 郸城县| 兴化市|