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();
好的,我會試試這個。 –