유닉스 도구 상자에서 사용할 수 있는 일반적인 그리기 도구가 있는지 궁금합니다.
플롯이란 간단한 막대 차트나 많은 저주 기반 유틸리티에서 볼 수 있는 것을 의미합니다.
유닉스 도구 상자란 표준 유닉스 규칙을 사용하여 데이터를 연결할 수 있다는 의미입니다.
tail -F
로그 파일의 내용( 모니터링 중인 항목)을 계산하고 콘텐츠의 실시간 비율(예: 오류 또는 경고 비율)을 표시 해야 합니다 .
답변1
당신이 찾고있는gnuplot
에서는 옵션이 terminal
로 설정됩니다 dumb
.
내가 선택한 첫 번째 선택은 아닙니다.뿌리내 모든 컴퓨터에 있지만 안정적이고 유비쿼터스적인 백업이 있습니다.
유럽 국립중앙도서관~의발ASCII 출력도 가능합니다. 하지만 실제로 사용하려면 매우 용감해야 합니다. 마치 132열 섹터 터미널이 있다고 가정하는 것처럼 보입니다.
답변2
답변3
"Generic plotting tools available in the unix toolbox"
아마도 모든 기본 Un*x 도구는 도구를 결합하여 무언가를 만들어야 할 것입니다. 저는 Latex, R 및 Sweave를 결합하는 것을 좋아합니다! 용어 "logs"
로 인해 질문이 약간 열려 있지만 이는 분명히 의도적인 것입니다. 용어에 유의하십시오 "generic"
. 따라서 AWK/SED/등으로 전처리할 필요가 없으며 텍스트 파일에 플롯하면 됩니다. 재미있게 보내세요!
$ mkdir Pictures
$ R CMD Sweave paper.Rnw
Writing to file paper.tex
Processing code chunks with options ...
1 : term verbatim
You can now run (pdf)latex on 'paper.tex'
$ pdflatex paper.tex 3&>/dev/null
$ evince paper.pdf
하드 카피 문서
$ cat paper.tex
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage[T1]{fontenc} % intended quotes
\begin{document}
\sloppy
<<echo=FALSE>>=
png('./Pictures/examples.png')
x<-1:10
y<-10:1
par(mfrow=c(2,2))
# Demand/Supply example
plot(x,y-2, type='l', ylab='Price', xlab="Quantity")
lines(y,x+2)
lines(x,x)
title(main="Examples by HHH for R Sweave Latex")
hist(rnorm(100)) # histogram example
plot(sin(1:1E3),cos(1:1E3)) # circle example
plot(sin(1:1E3),1:1E3) # sin example
@
\includegraphics{./Pictures/examples.png}
\end{document}
이제 퍼즐의 다음 조각은 접근성입니다(작업에 일반 도구뿐만 아니라 ASCII 출력이 필요하다고 가정). 죄송합니다. 아직 답변이 없습니다. 자세한 내용을 알아보기 위해 아래에 정보를 나열하겠습니다.
간단히 생각해보세요. 래스터 이미지 형식(예: TIFF)을 선택하고 100번째 열마다 인쇄하거나 이와 유사한 형식으로 볼 수 있습니다. 죄송합니다. 추측만 했을 뿐이지만 TIFF는 사실상 다양한 보관 목적으로 사용되는 래스터 이미지 형식이라는 것을 알고 있습니다. OCR 엔진(예: Tesseract)이 이를 어떻게 처리하는지 아직 모르지만 여기서 질문은 간단합니다. 이미지 전처리에서 많은 항목을 건너뜁니다. R이 이미지를 생성하는 방법을 실제로 알고 있기 때문입니다. 이 작업을 수행하는 방법을 아는 사람이 있나요? 아니면 바퀴를 재발명하고 있나요? 가장 간단한 방법은 ASCII 형식을 생성할 수 있는 도구를 선택하는 것입니다 "generic"
. 이는 .
관련된
답변4
숫자 출력을 간단한 Perl 조각으로 파이프하기만 하면 됩니다. 예를 들어, 다음은 증가하는 숫자만 인쇄하는 테스트 프로그램(bash)입니다.
(i=0; while true; do sleep 1; echo $i; i=$(( $i + 3 )); done)
0에서 20 사이의 값 범위에 관심이 있고 너비가 80자인 터미널이 있다고 가정해 보겠습니다.
[above snippet] | perl -ne '$min=0; $max=20; $w=80; use POSIX; $d=ceil(log($max)/log(10)); $w-=$d; $v=$_<$min?0:$_>$max?$max:$_; $s=$w*$v/($max-$min); $bar=join("", ("*")x$s); $bar=~s/.$/|/ if $v==$max; print sprintf("%${d}d ",$_)."$bar\n";'
0
3 ***********
6 ***********************
9 ***********************************
12 **********************************************
15 **********************************************************
18 **********************************************************************
21 *****************************************************************************|
24 *****************************************************************************|
이와 같은 기능은 거의 모든 Linux 시스템에서 실행될 수 있으며 출력과 매개변수는 쉽게 조정할 수 있습니다. gnuplot과 같은 것을 사용하는 것에 비해 오버헤드가 최소화됩니다.