JFreeChart API를 사용하여 동적 시계열 차트를 만들었습니다. 잘 작동하고 있습니다. 콤보 상자를 추가해야하는데 시간 값은 5 초, 15 초, 30 초와 같습니다. 사용자가 시간 축을 선택하면 주어진 시간 간격으로 다시 그려야하고 타이머는 프로세스를 5, 15, 30 초 동안 지연해야합니다 (차트 업데이트). 내 이전 게시물이시계열 JFreeChart가 시간 축 다시 그립니다.
그러나 그것은 나를 위해 일한 아니에요에 콤보 상자를 추가하는 등의 몇 가지 확장과 this
에 I이, 어떤 도움을 이해할 수있을 것이다. 감사
EDIT 1 제거 원치 않는 코드와 나머지 코드는
final DynamicTimeSeriesCollection dataset =
new DynamicTimeSeriesCollection(1, 60, new Second());
dataset.setTimeBase(new Second(0,seriesvalue*2, 5, 11, 7, 2012));
dataset.addSeries(new float[]{0}, 0, "Currency Rate");
JFreeChart chart = createChart(dataset);
chartPanel = new ChartPanel(chart);
final JComboBox combo = new JComboBox();
combo.addItem("5");
combo.addItem("15");
combo.addItem("30");
combo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if("5".equals(combo.getSelectedItem())){
seriesvalue=5;
timer.setDelay(seriesvalue*1000);
}else if("15".equals(combo.getSelectedItem())){
seriesvalue=15;
timer.setDelay(seriesvalue*1024);
unit=new DateTickUnit(DateTickUnitType.MINUTE,seriesvalue);
chartPanel.repaint();
}
}
});
add(chartPanel,BorderLayout.CENTER);
add(combo,BorderLayout.SOUTH);
timer = new Timer(999*seriesvalue, new ActionListener() {
public void actionPerformed(ActionEvent e) {
for(int i=0;i<seriesvalue;i++){
newData[0] = randy.getRandomvalue();
dataset.advanceTime();
dataset.appendData(newData);
}
}
});
는 데이터 세트 코드
private JFreeChart createChart(final XYDataset dataset) {
JFreeChart result= ChartFactory.createTimeSeriesChart(
"Dyanmic chart", "hh:mm:ss", "Currency", dataset, true, true, false);
final XYPlot plot = result.getXYPlot();
dateAxis= (DateAxis)plot.getDomainAxis();
unit = new DateTickUnit(DateTickUnitType.MINUTE,seriesvalue/2);
return result;
}
주요 방법
public static void main(final String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
DynaChart chart = new DynaChart();
chart.pack();
RefineryUtilities.centerFrameOnScreen(chart);
chart.setVisible(true);
chart.start();
}
});
}
'TimeSeriesCollection'또는'DynamicTimeSeriesCollection'을 사용하고 있습니까? 귀하의 접근 방식을 보여주는 [sscce] (http://sscce.org/)를 포함하도록 질문을 편집하십시오. – trashgod
DynamicTimeSeriesCollection을 사용하고 있습니다. – mallikarjun