2D 플롯으로 시각화하려는 시계열 데이터가 있습니다.
입력은 ISO 날짜 형식이며 값은 공백으로 구분되며 한 줄에 하나의 레코드가 있습니다.
2010-10-21 23
2010-10-22 32
etc.
출력은 멋진 2D 플롯이어야 합니다. 기본 요구 사항:
- X11 창(미리보기) 및 png 파일로 출력
- x축은 반드시이해하다날짜를 지정하고 데이터 크기를 자연스럽게 조정합니다. 예를 들어 3일 사이의 간격은 1일 사이의 간격의 3배여야 합니다.
- 스크립트에서 호출 가능해야 합니다.
- 출력 효과가 좋고 사용하기 쉽습니다.
보너스:
- svg 출력
시도해 보았는데 gnuplot
작동합니다. 일부 날짜 지원이 있습니다.
gnuplot> set xdata time
gnuplot> set timefmt "%Y-%m-%d"
gnuplot> plot "test.dat" using 1:2
하지만 gnuplot에는 몇 가지 문제가 있습니다.
- 기본 설정을 사용하면 플롯이 매우 보기 흉해 보입니다.
- 매뉴얼에서 내용을 찾기가 어렵습니다. 예를 들어 점을 그릴 때 기본 "+" 기호 대신 채워진 작은 원을 어떻게 사용합니까?
- gnuplot 셸은 정말 골치 아픈 일입니다. readline을 사용하지 않고, 손상되었으며, 명령 완성이 농담이고, vi 단축키를 활성화하는 방법을 모르겠습니다. 또는 지원되는 경우 역검색 등은 어떻습니까?
그래서 내 질문은: 시계열 데이터를 시각화하기 위한 대안은 무엇입니까?
아니면 gnuplot 문제를 과장하고 있습니까?
답변1
오른쪽이런 종류의 작업에서는 Gnuplot보다 낫습니다. 이유는 다음과 같습니다.
이것은 완전한 프로그래밍 환경입니다.C 및 Fortran과 호환되는 확장 API. 컴퓨터가 뭔가를 할 수 있다면 R을 사용해서 할 수 있습니다.
자주 묻는 질문에 많은 분들이 답변을 주셨습니다.두루미: 포괄적인 R 아카이브 네트워크. 당신은 찾을 수 있습니다
zoo
그리고ggplot2
이 작업에 도움이 되는 패키지입니다.
R에는 원하는 모든 것이 있습니다.
X11, PNG 또는 (추가 기능) SVG
플롯 포인트에 대해 채워진 원: 통과
pch=19
또는pch=20
아빠()또는가리키다(). 그 밖에도 미리 정의된 드로잉 포인트 기호가 많이 있으며, 유니코드 인식 글꼴을 사용하는 경우 모든 유니코드를 추가할 수 있습니다.시간 인식 차트: 내장된 차트에 원하는 크기 조정이 없으면 R의 플로팅 프리미티브를 사용하여 필요한 모든 것을 작성할 수 있습니다.
스크립트에서 호출 가능:
#!/usr/bin/Rscript
R 프로그램 파일의 shebang 라인 사용예쁘고 편리합니다. 마음에 들면 GUI 프런트엔드가 있고, 그렇지 않다면 기본 명령 기반 환경에는 여러 내장된 기능에 대한 R 소스 코드를 볼 수 있는 등 멋진 기능이 많이 있습니다. 시스템이 어떻게 구성되어 있는지 이해하는 데 도움이 됩니다. (예, 대부분의 R은 R로 작성되었습니다!)
좋은 줄거리: R이 Cairo에 대해 빌드된 경우 앤티앨리어싱이 기본값이며 Linux에서 최근 빌드인 경우 기본값입니다. 이전 버전의 R에는 AA가 내장되어 있지 않을 수 있습니다. R의 기능에 대해 알아보는 데 시간을 투자했다면 다음을 확인하세요.
(이미지를 클릭하시면 관련 기사를 보실 수 있습니다.)
gnuplot 명령줄과 관련하여 GNU readline, BSD libedit를 지원하거나 대체 사용자 정의 내장 명령줄 편집 솔루션으로 빌드할 수 있습니다. (이것은 p.20에 따른 것입니다.수동.) 한 컴퓨터에는 gnuplot 3.7이 있고 다른 컴퓨터에는 4.0이 있는데 둘 다 readline으로 구축되었습니다. 바이너리가 이것들 없이 구축되었나요?
답변2
RRD 도구존재의 전체적인 목적은 시계열 데이터를 도표화하는 것이지만 주로 자동 도표화에 사용되며 귀하의 요구에 가장 적합하지 않을 수 있습니다.
그 의미는:
- PNG나 SVG 형식으로 출력할 수 있지만 미리보기 기능은 없습니다.
- 시간 조정 기능이 내장되어 있습니다.
- 간편한 스크립팅(여러 스크립팅 언어를 위한 명령줄 액세스 또는 라이브러리)
- 출력이 꽤 좋아 보이게 만들 수 있습니다.