回答:
gnuplot
オプションをにterminal
設定して、を探していますdumb
。
すべてのマシンにROOTがあるため、最初の選択ではありませんが、信頼性の高い、ユビキタススタンバイです。
CernlibのPAWもASCII出力を実行できますが、132カラムのファンフォールドターミナルがあると想定しているため、実際に使用するにはかなり勇気が必要です。
"132 column fan-fold terminal"
、 それは何ですか?ドットマトリックスプリンターの場合 これは非常に古いプロジェクトですか?申し訳ありませんが、答えは"[n]ot my first choice"
gnuplotで年齢が難読化されすぎていますか?あなたが何を意味し、何を書いているのかを理解するのに時間がかかります。なぜgnuplotですか?
set term dumb
asciiをプロットする
"Generic plotting tools available in the unix toolbox"
おそらくすべての基本的なUn * xツールです。ツールを組み合わせて物を作成する必要があります。ラテックス、R、Sweaveを組み合わせるのが大好きです!用語"logs"
は質問を少し開いたままにしますが、明らかに目的によって、用語に注意してください"generic"
。したがって、AWK / SED / etcを使用した前処理については何も行われず、テキストファイルで取得するプロットについてのみ説明します。楽しんで!
$ 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
paper.tex
$ 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}
次のパズルはアクセシビリティです(opが汎用ツールだけでなく、ASCII出力を望んでいると仮定します)。申し訳ありませんが、まだ回答はありませんが、詳細を調べるために以下の情報をリストします。
声に出して考えるだけです。TIFFなどのラスターイメージ形式を選択し、100列ごとに印刷するか、そのようなものを表示します。推測するだけで申し訳ありませんが、TIFFはあらゆる種類のアーカイブ目的のための事実上のラスターイメージ形式であることを知っています-TesseractなどのOCRエンジンがそれらをどのように処理するかはまだ正確にはわかりませんが、ここでは問題が簡単に解決できます画像の前処理で多くのものをスキップします-Rがそれらをどのように生成するかを知っているからです。誰かがこれをどのように行うのか考えましたか?または私は車輪を再発明していますか?最も簡単な方法は、ASCIIへのヒンジを生成するツールを選択すること"generic"
です。
関連した
awk
してsed
いる「特定」、具体的なユースケースのために設計されていないではありません。紛らわしい場合はごめんなさい。基本的に、ターミナルで非常にシンプルな棒グラフを作成したいと思います。それで全部です。
数値出力を単純な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のようなものを使用する場合に比べてオーバーヘッドはごくわずかです。
The development and support for CERNLIB has been discontinued. Libraries will be continued to be provided "as is"
、警告しますか?たとえば、R Sweave Latexの代わりにCernlibのPAWを使用する利点は何ですか?これを聞いたことがない、汎用的なツール!R Sweave Latexの前にgnuplotを使用しましたが、後者を使用する方がはるかに便利です。画像を含め、すべて1つのテキストファイルに収めます。gnuplotでこれを行うことができますか?