Java JFreeChart:动态更改系列列表
Java JFreeChart:动态更改系列列表,java,jfreechart,Java,Jfreechart,请问,如何更新JfreeChart系列。 我的Jfreechart是这样工作的, 我有一组复选框,当我选择要从中检索信息的复选框时,我希望在图形的系列区域中看到它们。 系列列表正在更改,但没有显示。如何在代码内部完成此操作?谢谢 编辑 这就是我的代码的编写方式 public DrawChart(JPanel panel){ this.refresh = new RefreshGraph(); this.displayChart (panel); } private void
请问,如何更新JfreeChart系列。
我的Jfreechart是这样工作的,
我有一组复选框,当我选择要从中检索信息的复选框时,我希望在图形的系列区域中看到它们。
系列列表正在更改,但没有显示。如何在代码内部完成此操作?
谢谢 编辑
这就是我的代码的编写方式
public DrawChart(JPanel panel){
this.refresh = new RefreshGraph();
this.displayChart (panel);
}
private void displayChart(JPanel jpanel){
final DefaultCategoryDataset dataset = new DefaultCategoryDataset();
Timer timer = new Timer(1000, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
refresh.getRefresh (dataset);
}
});
timer.start ();
JFreeChart chart = createChart(dataset);
ChartPanel panel=new ChartPanel(chart);
panel.setPreferredSize (new Dimension(700,300));
jpanel.setLayout(new java.awt.BorderLayout());
jpanel.add (panel, BorderLayout.CENTER);
jpanel.repaint ();
jpanel.setVisible(true);
}
private JFreeChart createChart(final CategoryDataset dataset){
final JFreeChart result = ChartFactory.createLineChart ("", null, null, dataset, PlotOrientation.VERTICAL, true, true, false);
return result;
}
这就是我填充数据集的方式dataset.addValue (Double.parseDouble (separateValues[0]), _listSeries.get (0), aLine);
dataset.addValue (Double.parseDouble (separateValues[1]), _listSeries.get (1), aLine);
我需要的是,当计时器每1秒运行一次时,_listSeries(表示要显示的所有序列的列表)也会更改。只有图形中的值在系列区域中没有变化。我该怎么做?
我想通过调用repaint()刷新面板,但没有办法。它不起作用。
谢谢请编辑您的问题,包括显示您当前方法的问题。我已经编辑了@trashgod您的示例不完整。什么是串联区?问题解决了。要刷新图表,我只需在声明数据集时清除它。即dataset.clear();每次单击都会刷新图表。您可以。