こっちの続き。
sin とか cos とか、どーでもいいから、取り敢えず単純に外部データをプロットさせたいんだよ!
ついでに。
埋め込みなんて、トロい。引数で指定出来る様にしろよ!
ってメモ。色んなグラフツールで。
使うのは、あっちでも使った、rand.txt
を再度。
$ perl -le 'print rand (10) for 0 .. 99' > rand.txt
Python
GRAPH.py
import sys
import matplotlib
matplotlib.use('Agg')
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv(sys.argv[1], header=None)
data.plot()
plt.savefig(sys.argv[2])
$ python GRAPH.py rand.txt graph.png
import sys
で sys.argv
使うだけ。
R
GRAPH.r
png(commandArgs(trailingOnly=TRUE)[2])
data = read.table(commandArgs(trailingOnly=TRUE)[1])
plot(data$V1, type="l")
$ Rscript ./GRAPH.r rand.txt graph2.png
y
がV1
(第一列)の時に限り、暗黙的に行番号をx
として扱うっぽい。
gnuplot
2019/01/19 更新
こっちの方が直感的。
ワンライナーで使うから、-e のメモも残すけど1。
GRAPH.plt
#!/usr/bin/env gnuplot
set term png
set output ARG2
plot ARG1 u ($0):($1) notitle w l
$ gnuplot -c GRAPH.plt rand.txt graph3.png
$0
が"インデクス"を示す。
旧メモ
GRAPH.plt
#!/usr/bin/env gnuplot
set term png
set output o
plot f u ($0):($1) notitle w l
$ gnuplot -e 'f="rand.txt";o="graph3.png"' GRAPH.plt
psxy (GMT)
psxy
だけは、 x
省略する方法が考え付かない、、、
$ perl -lne 'print join " ", $., $_' rand.txt | gmt psxy -R0/100/0/10 -Jx0.1/1 > graph4.eps
$ gmt psconvert -P graph4.eps
-
-R
で、 x を 0~100, y を 0~10 まで描画 -
-Jx
で、 x を 0.1 倍、y を等倍
でグラフを書く。
spark
ついでに spark
$ cat rand.txt| spark
-
-e, -cが併用出来るのが一番理想なんだけど、、、 ↩