2013-12-09 133 views
0

我有一個動態區域圖,用w鼠標滾輪監聽器tu將數據放在我的圖表上,通過時間,我想將我的域軸設置爲10秒,這是因爲我的圖表顯示了所有數據從一開始我只想顯示最後10秒鐘。 如何做到這一點? 這裏是我的代碼:JFreeChart XYAreaChart設置域軸

final XYSeries series = new XYSeries("Data"); 

    XYSeriesCollection dataset = new XYSeriesCollection(series); 

    // Creation du area chart 
    JFreeChart chart = ChartFactory.createXYAreaChart("Fun Meter", "", "", 
      dataset, PlotOrientation.VERTICAL, false, false, false); 


    final JLabel a = new JLabel(); 
    // Un chartpanel pour contenir le area chart 
    ChartPanel CP = new ChartPanel(chart); 

    // creation d'objet plot pour ajustement de tout ce qui est graphique 
    XYPlot xyPlot = (XYPlot) chart.getPlot(); 

    // la couleur degradée pour le remplissage du area chart 
    GradientPaint gp0 = new GradientPaint(0.0f, 100.0f, new Color(50, 205, 
      50), 0.0f, 100.0f, Color.red); 

    xyPlot.getRenderer().setSeriesPaint(0, gp0); 
    xyPlot.setBackgroundPaint(Color.black); 
    xyPlot.setForegroundAlpha(0.75f); 

    GradientPaint gp1 = new GradientPaint(0.0f, 100.0f, Color.black, 0.0f, 
      1000.0f, new Color(153, 153, 153)); 

    chart.setBackgroundPaint(gp1); 

    CP.addMouseWheelListener(new MouseWheelListener() { 
     public void mouseWheelMoved(MouseWheelEvent e) { 

      Integer rx = e.getWheelRotation(); 
      Wheel = Wheel - rx; 
        } 
    }); 

    new Timer(100, new ActionListener() { 

     @Override 
     public void actionPerformed(ActionEvent e) { 
      series.add(series.getItemCount(), Wheel); 
     } 
    }).start(); 

回答