>Java >java지도 시간 >시간 기반 축 없이 동적 JFreeChart 시리즈 업데이트 문제를 해결하는 방법은 무엇입니까?

시간 기반 축 없이 동적 JFreeChart 시리즈 업데이트 문제를 해결하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-16 11:41:11860검색

How to Troubleshoot Dynamic JFreeChart Series Updates Without a Time-Based Axis?

JFreeChart를 사용하여 시리즈를 변경할 때 발생하는 무작위 오류 문제 해결

소개
이 토론에서는 시리즈를 추가하고 제거하여 JFreeChart 데이터 세트를 동적으로 업데이트합니다. 목표는 시간 기반 X축에 의존하거나 DynamicTimeSeriesCollection을 사용하지 않고 시간에 따라 변화하는 데이터 포인트를 시각화하는 것입니다.

문제 및 해결 방법

제공된 코드는 다음과 같습니다. 시리즈를 반복적으로 추가하고 제거하여 데이터 세트를 업데이트하지만 이 접근 방식은 올바르지 않습니다. 대신 SwingWorker의 process() 메소드 내에서 데이터 세트를 업데이트해야 합니다.

또한 시간이 아닌 반복 횟수를 기반으로 하는 도메인으로 차트를 생성하려면 DateAxis 대신 NumberAxis를 사용하세요.

예제 코드

다음 코드 조각은 추적 방법을 보여줍니다. 꺾은선형 차트를 사용한 계산 진행 상황:

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);
    }
}

계산이 진행됨에 따라 그래프가 자동으로 업데이트됩니다.

추가 고려 사항

  • 올바른 동기화: 데이터 세트는 process() 메소드에서만 수정되어야 합니다. 스레드 안전성을 보장하는 SwingWorker.
  • NumberAxis: 시간 기반이 아닌 X축이 있는 꺾은선형 차트를 사용할 때 도메인과 범위 모두에 NumberAxis를 사용하세요.
  • 모양 가시성: 데이터 포인트를 원으로 표시하려면 렌더러의 모양 가시성을 true로 설정합니다. line.
  • 진행률 표시줄: 진행률 표시줄을 사용하여 계산 진행 상황에 대한 시각적 피드백을 제공합니다.

위 내용은 시간 기반 축 없이 동적 JFreeChart 시리즈 업데이트 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.