Menyelesaikan Masalah Ralat Rawak semasa Menukar Siri Menggunakan JFreeChart
Pengenalan
Perbincangan ini menangani isu yang dihadapi semasa cuba mengemas kini set data JFreeChart secara dinamik dengan menambah dan mengalih keluar siri. Matlamatnya adalah untuk menggambarkan perubahan titik data dari semasa ke semasa tanpa bergantung pada paksi X berasaskan masa atau menggunakan DynamicTimeSeriesCollection.
Isu dan Penyelesaian
Percubaan kod yang disediakan untuk mengemas kini set data dengan menambah dan mengalih keluar siri berulang kali, tetapi pendekatan ini tidak betul. Sebaliknya, set data hendaklah dikemas kini dalam kaedah process() SwingWorker.
Selain itu, untuk membuat carta dengan domain berdasarkan kiraan lelaran dan bukannya masa, gunakan NumberAxis dan bukannya DateAxis.
Kod Contoh
Coretan kod berikut menunjukkan cara menjejak kemajuan pengiraan menggunakan carta garis:
private XYSeries series = new XYSeries("Result"); … @Override protected void process(List<Double> chunks) { for (double d : chunks) { label.setText(df.format(d)); series.add(++n, d); } }
Graf akan dikemas kini secara automatik semasa pengiraan berlangsung.
Pertimbangan Tambahan
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Masalah Kemas Kini Siri JFreeChart Dinamik Tanpa Paksi Berasaskan Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!