Command-Line
如何從標準輸入中繪製一系列數字的圖形圖?
如果有一個長文本文件並且我想顯示出現給定模式的所有行,我會這樣做:
grep -n form innsmouth.txt | cut -d : -f1
現在,我有一個數字序列(每行一個數字)
我想用 x 軸上的出現和 y 軸上的行號來製作 2D 圖形表示。我怎樣才能做到這一點?
你可以用
gnuplot
這個:primes 1 100 |gnuplot -p -e 'plot "/dev/stdin"'
產生類似的東西
您可以根據自己的喜好配置圖形的外觀,以各種圖像格式輸出等。
我會在
R
. 您必須安裝它,但它應該在您的發行版儲存庫中可用。對於基於 Debian 的系統,執行sudo apt-get install r-base
這也應該帶來,
r-base-core
但如果沒有,也應該執行sudo apt-get install r-base-core
。安裝後,您R
可以為此編寫一個簡單的 R 腳本:#!/usr/bin/env Rscript args <- commandArgs(TRUE) ## Read the input data a<-read.table(args[1]) ## Set the output file name/type pdf(file="output.pdf") ## Plot your data plot(a$V2,a$V1,ylab="line number",xlab="value") ## Close the graphics device (write to the output file) dev.off()
上面的腳本將創建一個名為
output.pdf
. 我測試如下:## Create a file with 100 random numbers and add line numbers (cat -n) for i in {1..100}; do echo $RANDOM; done | cat -n > file ## Run the R script ./foo.R file
在我使用的隨機數據上,產生:
我不完全確定您要繪製什麼,但這至少應該為您指明正確的方向。