乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      jfreechart簡單介紹3

      摘要:前兩節(jié)介紹了jfreechart的條形圖、餅圖,本節(jié)主要介紹jfreechart的曲線圖。

      本節(jié)主要是用jfreechart包中自帶的gui相關的類,實現(xiàn)曲線圖GUI的簡單效果。

      preparation

      class

      ApplicationFrame類:

      RefineryUtilities類:

      ChartPanel類:

      method

      setContentPane()

      由于網絡原因,用到的類和方法的詳細介紹,在后面補充上。

      start

      曲線圖
        1 package line;
      2
      3 import org.jfree.chart.ChartFactory;
      4 import org.jfree.chart.ChartPanel;
      5 import org.jfree.chart.title.TextTitle;
      6 import org.jfree.data.time.TimeSeries;
      7 import org.jfree.data.time.Month;
      8 import org.jfree.data.time.TimeSeriesCollection;
      9 import org.jfree.chart.plot.XYPlot;
      10 import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
      11 import java.awt.Color;
      12 import org.jfree.ui.RectangleInsets;
      13 import java.awt.Font;
      14 import org.jfree.chart.renderer.xy.XYItemRenderer;
      15 import org.jfree.chart.JFreeChart;
      16 import org.jfree.chart.labels.*;
      17 import org.jfree.ui.*;
      18 import java.awt.*;
      19 import java.text.*;
      20 import javax.swing.JPanel;
      21 import org.jfree.chart.axis.DateAxis;
      22 import org.jfree.chart.axis.ValueAxis;
      23 import org.jfree.chart.axis.NumberAxis;
      24
      25 public class LineChart extends ApplicationFrame {
      26
      27 private static final long serialVersionUID = 1L;
      28
      29 // 測試的main方法,顯示是以JPanel窗體的形式顯示的
      30 public static void main(String[] args) {
      31 LineChart LineChart= new LineChart("曲線圖");
      32 LineChart.pack();
      33 RefineryUtilities.centerFrameOnScreen(LineChart);
      34 LineChart.setVisible(true);
      35 }
      36
      37 public LineChart(String s) {
      38 super(s);
      39 setContentPane(createDemoLine());
      40 }
      41
      42 // 生成顯示圖表的面板
      43 public static JPanel createDemoLine() {
      44 JFreeChart jfreechart = createChart(createDataset());
      45 return new ChartPanel(jfreechart);
      46 }
      47
      48 // 生成圖表主對象JFreeChart
      49 public static JFreeChart createChart(TimeSeriesCollection linedataset) {
      50 JFreeChart chart = ChartFactory.createTimeSeriesChart("訪問量統(tǒng)計時間線", "月份",
      51 "訪問量", linedataset, true, true, true);
      52
      53 // 設置消除字體的鋸齒渲染(解決中文問題)
      54 chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,
      55 RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
      56
      57 // 設置主標題
      58 chart.setTitle(new TextTitle("blog訪問量統(tǒng)計", new Font("楷書", Font.ITALIC,
      59 20)));
      60 chart.setAntiAlias(true);
      61 // 設置子標題
      62 TextTitle subtitle = new TextTitle("2010/2011年度訪問量對比", new Font("宋體",
      63 Font.BOLD, 12));
      64 chart.addSubtitle(subtitle);
      65
      66 XYPlot plot = (XYPlot) chart.getPlot();
      67
      68 XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer) plot
      69 .getRenderer();
      70
      71 // 設置網格背景顏色
      72 plot.setBackgroundPaint(Color.white);
      73 // 設置網格豎線顏色
      74 plot.setDomainGridlinePaint(Color.pink);
      75 // 設置網格橫線顏色
      76 plot.setRangeGridlinePaint(Color.pink);
      77 // 設置曲線與xy軸的距離
      78 plot.setAxisOffset(new RectangleInsets(0D, 0D, 0D, 10D));
      79 // 設置曲線是否顯示數據點
      80 xylineandshaperenderer.setBaseShapesVisible(true);
      81 // 設置曲線顯示各項數據點的值
      82 XYItemRenderer xyitem = plot.getRenderer();
      83 xyitem.setBaseItemLabelsVisible(true);
      84 xyitem.setBasePositiveItemLabelPosition(new ItemLabelPosition(
      85 ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
      86 xyitem.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator());
      87 xyitem.setBaseItemLabelFont(new Font("Dialog", 1, 14));
      88 plot.setRenderer(xyitem);
      89
      90 // 設置X軸日期顯示的格式
      91 SimpleDateFormat format = new SimpleDateFormat("yyyy/MM");
      92 DateAxis axis = (DateAxis) plot.getDomainAxis();
      93 axis.setDateFormatOverride(format);// 設置x軸數據單位以×年×月方式顯示
      94
      95 ValueAxis valueAxis = plot.getDomainAxis();
      96 // 設置x軸上面的字體
      97 valueAxis.setTickLabelFont(new Font("隸書", Font.ITALIC, 12));
      98 // 設置X軸的標題文字
      99 valueAxis.setLabelFont(new Font("隸書", Font.ITALIC, 12));
      100 NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();
      101 // 設置y軸上的字體
      102 numberAxis.setTickLabelFont(new Font("宋體", Font.PLAIN, 13));
      103 // 設置y軸上的標題字體
      104 numberAxis.setLabelFont(new Font("宋體", Font.PLAIN, 13));
      105 // 設置底部的字體
      106 chart.getLegend().setItemFont(new Font("宋體", Font.PLAIN, 12));
      107
      108 return chart;
      109 }
      110
      111 // 生成數據
      112 public static TimeSeriesCollection createDataset() {
      113 // 訪問量統(tǒng)計時間線
      114 TimeSeries timeSeries1 = new TimeSeries("2010年度", Month.class);
      115 TimeSeries timeSeries2 = new TimeSeries("2011年度", Month.class);
      116
      117 // 時間曲線數據集合
      118 TimeSeriesCollection lineDataset = new TimeSeriesCollection();
      119
      120 // 構造數據集合
      121 timeSeries1.add(new Month(1, 2011), 7200);
      122 timeSeries1.add(new Month(2, 2011), 7000);
      123 timeSeries1.add(new Month(3, 2011), 4200);
      124 timeSeries1.add(new Month(4, 2011), 8200);
      125 timeSeries1.add(new Month(5, 2011), 7300);
      126 timeSeries1.add(new Month(6, 2011), 8200);
      127 timeSeries1.add(new Month(7, 2011), 9200);
      128 timeSeries1.add(new Month(8, 2011), 7300);
      129 timeSeries1.add(new Month(9, 2011), 9400);
      130 timeSeries1.add(new Month(10, 2011), 7500);
      131 timeSeries1.add(new Month(11, 2011), 6600);
      132 timeSeries1.add(new Month(12, 2011), 3500);
      133 timeSeries2.add(new Month(1, 2011), 10200);
      134 timeSeries2.add(new Month(2, 2011), 9000);
      135 timeSeries2.add(new Month(3, 2011), 6200);
      136 timeSeries2.add(new Month(4, 2011), 8200);
      137 timeSeries2.add(new Month(5, 2011), 8200);
      138 timeSeries2.add(new Month(6, 2011), 11200);
      139 timeSeries2.add(new Month(7, 2011), 13200);
      140 timeSeries2.add(new Month(8, 2011), 8300);
      141 timeSeries2.add(new Month(9, 2011), 10400);
      142 timeSeries2.add(new Month(10, 2011), 12500);
      143 timeSeries2.add(new Month(11, 2011), 10600);
      144 timeSeries2.add(new Month(12, 2011), 10500);
      145
      146 lineDataset.addSeries(timeSeries1);
      147 lineDataset.addSeries(timeSeries2);
      148
      149 return lineDataset;
      150 }
      151
      152 }

       

      result

      運行截圖如下:

      image

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多