<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 32,  comments - 3,  trackbacks - 0
             JFreeChart并不存在多個(gè)不同的類來(lái)生成不同的圖形。所有的圖形都是具體類JFreeChart的實(shí)例化對(duì)象,初始化JFreeChart對(duì)象的時(shí)候通過(guò)指定不同的Plot實(shí)現(xiàn)類就可以顯示出不同的圖形。不同的Plot實(shí)現(xiàn)類具有不同的Renderer對(duì)象、Axis對(duì)象、Dataset對(duì)象。

           JFreeChart提供工廠類ChartFactory方便使用者生成各種不同的圖形。ChartFactory類的各個(gè)工廠方法中實(shí)現(xiàn)對(duì)具體Plot的指定以及對(duì)類JFreeChart構(gòu)造函數(shù)的調(diào)用。

        下面以常用圖形說(shuō)一下常用的使用流程(大部分的操作講的并不全面,比如JFreeChart可能提供了很多增加、修改數(shù)據(jù)的方式,下文中可能只列舉一種)。

    1柱狀圖

    1)平面柱狀圖

        生成柱狀圖操作:

    JFreeChartchart=ChartFactory.createBarChart(String title,//圖標(biāo)題

    String categoryAxisLabel,//x軸標(biāo)題

    String valueAxisLabel,//y軸標(biāo)題

    CategoryDataset dataset,//數(shù)據(jù)源

    PlotOrientation orientation,//顯示方向

    Boolean legend,//是否顯示圖例

    Boolean tooltips,//是否顯示tooltip

    Boolean urls)//是否指定url

    平面柱狀圖的Plot對(duì)象是CategoryPlot類型。CategoryPlot對(duì)象的x軸是CategoryAxis對(duì)象,y軸是NumberAxis對(duì)象,繪制單元是BarRenderer對(duì)象,數(shù)據(jù)源是CategoryDataset對(duì)象。

    獲取CategoryPlot對(duì)象操作為:

    CategoryPlot plot = (CategoryPlot)chart.getPlot();或者

    CategoryPlot plot = chart.getCategoryPlot();

    獲取繪制單元操作:

           BarRenderer renderer = (BarRenderer)plot.getRenderer();

    獲取x軸的操作:

    CategoryAxis xAxis = (CategoryAxis)plot.getDomainAxis();

    獲取y軸操作:

    NumberAxis yAxis = (NumberAxis)plot.getRangeAxis();

    獲取數(shù)據(jù)源:

    CategoryDataset dataset = plot.getDataset();

        柱狀圖可以接受一切CategoryDataset類型的數(shù)據(jù)源,下面講解一下常用的CategoryDataset類型DefaultCategoryDataset的使用方式

    實(shí)例化:

    DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    增加數(shù)據(jù)

    dataset.addValue(doublevalue,ComparablerowKey,ComparablecolumnKey);

    刪除數(shù)據(jù):

           dataset.removeValue(ComparablerowKey,ComparablecolumnKey);

        或者

           dataset.removeColumn(intcolumnIndex);

        或者

           dataset.removeColumn(ComparablecolumnKey);

        對(duì)行同樣有上述兩種刪除方式,不在列舉。

    修改數(shù)據(jù):

           dataset.setValue(doublevalue,ComparablerowKey,ComparablecolumnKey);

    查詢數(shù)據(jù):

    對(duì)plot對(duì)象、繪制單元、x軸、y軸的顯示特性修改不再一一介紹。

    23D柱狀圖

        對(duì)應(yīng)的工廠方法為createBarChart3D,該方法的參數(shù)與平面柱狀圖相同。3D柱狀圖的Plot對(duì)象是CategoryPlot類型。CategoryPlot對(duì)象的x軸是CategoryAxis3D對(duì)象,y軸是NumberAxis3D對(duì)象,繪制單元是BarRenderer3D對(duì)象,數(shù)據(jù)源是CategoryDataset對(duì)象。

        具體使用以及操作與平面柱狀圖雷同,不在詳述。

    2餅狀圖

    (1)平面餅狀圖

    生成平面餅狀圖:

    JFreeChartchart=ChartFactory.createPieChart(String title,//圖標(biāo)題

    PieDataset dataset,//數(shù)據(jù)源

    Boolean legend,//是否顯示圖例

    Boolean tooltips,//是否顯示tooltip

    Boolean urls)//是否指定url

    平面餅狀圖的Plot對(duì)象是PiePlot類型。PiePlot對(duì)象沒(méi)有x軸對(duì)象、y軸對(duì)象、繪制單元對(duì)象,數(shù)據(jù)源是PieDataset對(duì)象。

    獲取PiePlot對(duì)象操作為:

    PiePlot plot = (PiePlot)chart.getPlot();

    獲取數(shù)據(jù)源:

    PieDataset dataset = plot.getDataset();

    餅狀圖可以接受一切PieDataset類型的數(shù)據(jù)源,下面講解一下常用的PieDataset類型DefaultPieDataset的使用方式

    實(shí)例化:

        DefaultPieDatasetdataset=newDefaultPieDataset();

    增加修改操作:

        dataset.setValue(Comparablekey,doublevalue);

    刪除操作:

        dataset.remove(Comparablekey);

    查詢操作:

        dataset.getKey(intitem);

    或者

    dataset.getValue(intitem);

    (1)3D餅狀圖

        對(duì)應(yīng)的工廠方法為createPieChart3D,參數(shù)與平面餅狀圖相同。與平面餅狀圖的差別在于Plot對(duì)象是PiePlot3D類型,不再詳述。

    3多重餅狀圖

    1)多重平面餅狀圖

    生成多重平面餅狀圖:

    JFreeChartchart=ChartFactory.createMultiplePieChart (String title,//圖標(biāo)題

    CategoryDataset dataset,//數(shù)據(jù)源

    TableOrder order,//指定提取數(shù)據(jù)的方式(按行或者按列)

    Boolean legend,//是否顯示圖例

    boolean tooltips,//是否顯示tooltip

    boolean urls)   //是否指定url

    多重平面餅狀圖的Plot對(duì)象是MultiplePiePlot類型。MultiplePiePlot對(duì)象沒(méi)有x軸對(duì)象、y軸對(duì)象、繪制單元對(duì)象,數(shù)據(jù)源是CategoryDataset對(duì)象。MultiplePiePlot對(duì)象中可以含有多個(gè)子JFreeChart對(duì)象,子JFreeChart對(duì)象是上面講過(guò)的餅狀圖對(duì)象。

    獲取MultiplePiePlot對(duì)象操作為:

    MultiplePiePlot plotMain = (MultiplePiePlot)chart.getPlot();

    獲取子JFreeChart的操作為:

           JfreeChart childChart = plotMain.getPieChart();

    獲取數(shù)據(jù)源:

    CategoryDataset dataset = plotMain.getDataset();

    2)多重3D餅狀圖

        對(duì)應(yīng)的工廠方法為createMultiplePieChart3D,該方法的參數(shù)與多重平面餅狀圖相同。多重3D餅狀圖的Plot對(duì)象是MultiplePiePlot類型。MultiplePiePlot對(duì)象中可以含有多個(gè)子JFreeChart對(duì)象,子JFreeChart對(duì)象是上面講過(guò)的3D餅狀圖對(duì)象。

    4線圖

    1)平面線圖

        生成平面線圖:

    JFreeChartchart=ChartFactory.createLineChart(String title,//圖標(biāo)題

    String categoryAxisLabel,//x軸標(biāo)題

    String valueAxisLabel,//y軸標(biāo)題

    CategoryDataset dataset,//數(shù)據(jù)源

    PlotOrientation orientation,//顯示方向

    Boolean legend,//是否顯示圖例

    Boolean tooltips,//是否顯示tooltip

    Boolean urls);//是否指定url

    平面線圖除了的Plot對(duì)象中繪制單元對(duì)象是LineAndShapeRenderer對(duì)象,其他一切組成對(duì)象與平面柱狀圖相同。

    獲取Renderer操作:

    LineAndShapeRenderer renderer = (LineAndShapeRenderer)plot.getRenderer();

    其他參考平面柱狀圖。

    23D線圖

    對(duì)應(yīng)工廠方法為createLineChart3D,參數(shù)與createLineChart相同。3D線圖的組成對(duì)象除了繪制單元對(duì)象是LineAndShapeRenderer3D對(duì)象,其他一切組成對(duì)象與3D柱狀圖相同。

    5時(shí)序圖

    生成時(shí)序圖:

    JfreeChartchart = ChartFactory.createTimeSeriesChart(String title,//圖標(biāo)題

    String timeAxisLabel,//x軸標(biāo)題

    String valueAxisLabel,//y軸標(biāo)題

    XYDataset dataset,//數(shù)據(jù)源

    Boolean legend,//是否顯示圖例

    Boolean tooltips,//是否顯示tooltip

    Boolean urls);//是否指定url

    時(shí)序圖的Plot對(duì)象是XYPlot類型。XYPlot對(duì)象的x軸是DateAxis對(duì)象,y軸是NumberAxis對(duì)象,繪制單元是XYLineAndShapeRenderer對(duì)象,數(shù)據(jù)源是XYDataset對(duì)象。

    Plot對(duì)象的獲取操作:

           XYPlot plot = (XYPlot)chart.getPlot();

    X軸對(duì)象的獲取操作:

           DateAxis xAxis = (DateAxis)plot.getDomainAxis();

    Y軸對(duì)象的獲取操作:

           NumberAxis yAxis = (NumberAxis)plot.getRangeAxis();

    Renderer對(duì)象的獲取操作:

           XYItemRenderer renderer = plot.getRenderer();

    時(shí)序圖可以接受一切XYDataset類型的數(shù)據(jù)源,下面講解一下常用的XYDataset類型TimeSeriesCollection的使用方式。

    實(shí)例化:

           TimeSeriesCollection dataset = newTimeSeriesCollection();

    添加數(shù)據(jù)操作:

           dataset.addSeries(TimeSeries);//后面講解TimeSeries對(duì)象

    刪除數(shù)據(jù)操作:

           dataset.removeSeries(intindex);

    查詢數(shù)據(jù)操作:

           dataset.getSeries(intseries);

    TimeSeries對(duì)象操作

    實(shí)例化:

           TimeSeries ts = TimeSeries(Stringname,ClasstimePeriodClass);

    增加數(shù)據(jù)操作:

           ts.add(RegularTimePeriod period,double value);

    刪除數(shù)據(jù)操作:

           ts.delete(RegularTimePeriod period);

    修改數(shù)據(jù)操作:

           ts.update(RegularTimePeriod period,Number value);

    查詢數(shù)據(jù)操作:

        ts.getValue(RegularTimePeriodperiod);

    RegularTimePeriodJFreeChart提供的時(shí)間模板類,它有很多具體的時(shí)間類,比如:MinuteSecondHourDay……等,不再詳述。

    posted on 2010-07-20 20:33 donghang73 閱讀(1225) 評(píng)論(0)  編輯  收藏 所屬分類: 學(xué)習(xí)筆記
    主站蜘蛛池模板: 久久国产精品2020免费m3u8 | 狠狠色伊人亚洲综合成人| 91九色精品国产免费| 国产精品小视频免费无限app| 亚洲AV无码久久久久网站蜜桃| 亚洲愉拍99热成人精品热久久| 日韩高清在线免费观看| 国产在线观看片a免费观看 | 亚洲精品无码国产| 亚洲国产一成久久精品国产成人综合 | 99久久精品免费精品国产| jizz18免费视频| 全部在线播放免费毛片| 亚洲欧美成人av在线观看| 亚洲午夜久久久久久尤物| 亚洲综合无码一区二区| 亚洲AV区无码字幕中文色| 亚洲人成在线播放网站| 精品国产人成亚洲区| 久久久久亚洲精品中文字幕| 亚洲第一区在线观看| 国产精品免费看久久久无码| 免费观看的毛片手机视频| 成全视频在线观看免费高清动漫视频下载 | 日本免费人成在线网站| 污污网站免费观看| 国产精品免费AV片在线观看| 国产一区二区三区免费观看在线 | 亚洲一区二区三区影院| 亚洲中文字幕成人在线| 亚洲精品成人久久久| 亚洲精品在线视频| 国产91精品一区二区麻豆亚洲| 亚洲国产精品无码久久九九| 亚洲精品国产精品乱码不卞| 亚洲国产精品不卡毛片a在线| 亚洲免费一区二区| 亚洲日韩中文无码久久| 久久精品国产亚洲av麻| 久久综合亚洲色一区二区三区| 中文字幕亚洲免费无线观看日本|