เครื่องมือการวางแผน (ตามข้อความ) ในกล่องเครื่องมือยูนิกซ์หรือไม่


9

ฉันสงสัยว่ามีเครื่องมือการวางแผนทั่วไปที่มีอยู่ในกล่องเครื่องมือยูนิกซ์หรือไม่?
โดยการวางแผนฉันหมายถึงบาร์หรือสิ่งที่คุณเห็นในยูทิลิตี้ที่ใช้คำสาปหลายอย่าง
และโดยกล่องเครื่องมือยูนิกซ์ฉันหมายถึงสิ่งที่คุณสามารถท่อข้อมูลลงในพวกเขาโดยใช้แบบแผนมาตรฐานยูนิกซ์

ฉันต้องนับสิ่งในล็อกไฟล์ (ที่ฉันกำลังตรวจสอบด้วยtail -Fหรือบางสิ่งบางอย่าง) และพล็อตอัตราส่วนชีวิตของสิ่งต่าง ๆ (เช่นร้อยละข้อผิดพลาดหรือคำเตือน)

คำตอบ:


9

คุณกำลังมองหาgnuplotด้วยตัวเลือกที่กำหนดให้terminaldumb

ไม่ได้เป็นตัวเลือกแรกของฉันเพราะฉันมีรากในเครื่องของฉันทั้งหมด แต่มีความน่าเชื่อถือสแตนแพร่หลาย

PAWของCernlibยังสามารถทำเอาต์พุต ASCII ได้แม้ว่าคุณจะต้องกล้าที่จะใช้มันเพราะมันคิดว่าคุณมีขั้วต่อแบบพับได้ 132 คอลัมน์


... The development and support for CERNLIB has been discontinued. Libraries will be continued to be provided "as is"แจ้งเตือน? ประโยชน์ของการใช้ PAW ของ Cernlib แทน R Sweave Latex เป็นอย่างไร ไม่เคยได้ยินเรื่องนี้เป็นเครื่องมือทั่วไปใช่มั้ย! ฉันใช้ gnuplot ก่อน R Sweave Latex ฉันพบว่าสะดวกกว่าการใช้หลัง - ทุกอย่างในไฟล์ข้อความเดียวรวมถึงรูปภาพ คุณสามารถทำได้ด้วย gnuplot

@hhh คุณจะสังเกตเห็นถึงความตึงเครียดของ"PAW ของ Cernlib ที่สามารถทำเช่นนั้นได้"แม้ว่าผู้คนจะยังใช้มันอยู่เพราะมันมีโค้ดสำหรับผู้ใหญ่มากมาย
dmckee --- ผู้ดูแลอดีตลูกแมว

ดีมาก แต่ส่วนที่เพิ่มเข้ามาคืออะไร? "132 column fan-fold terminal", มันคืออะไร? สำหรับเครื่องพิมพ์ดอทเมทริกซ์? นี่เป็นโครงการเก่ามาก! ขออภัยคำตอบของคุณล้าสมัยเกินไป"[n]ot my first choice"ด้วย gnuplot? ทำให้ฉันมีเวลาที่จะเข้าใจสิ่งที่คุณมีความหมายและการเขียน ทำไมต้อง gnuplot

โหมดเอาต์พุต ASCII สำหรับ PAW อธิบายไว้ดีที่สุดว่า "clunky" ตามเวลาที่ฉันใช้ cernlib มันเป็นภาษาพื้นเมืองใน X และสามารถเขียนโดยตรงไปที่ postscript หรือ encapsulated postscript ซึ่งเป็นสิ่งที่เราใช้อย่างไรก็ตามบางส่วนของมันสามารถติดตามรากของพวกเขาไปยังรหัสที่วางไว้ในต้นปี 1960 สมมติฐานที่ดูเหมือนจะได้รับว่าคุณมีขั้วสำเนายาก ; หลายคนใช้รูปแบบกว้าง 132 ตัวอักษรพร้อมแถบแสงและสีดำสลับกันเพื่อให้อ่านง่าย พอ geeks เก่าทั้งหมดจะสามารถจดจำสิ่งต่าง ๆ (คุณยังคงเห็นเป็นบางครั้งล่าช้าเป็น 1980)
dmckee --- ผู้ดูแลอดีตลูกแมว

1
set term dumbเพื่อลงจุด ascii
kev

3

คุณสามารถใช้Rซึ่งสามารถสร้างกราฟสวย ๆ ให้คุณและทำการวิเคราะห์ทางสถิติกับข้อมูลของคุณ โพสต์บล็อกนี้แสดงวิธีการทำ

ในทำนองเดียวกันคุณสามารถใช้gnuplotดูที่นี่และที่นี่


ขอบคุณ แต่ฉันไม่ต้องการใช้ GUI ใด ๆ ไม่ได้เขียนโค้ดหรือแสดงแผนการฉันต้องการทำมันทั้งหมดใน terminal นอกจากนี้ฉันสามารถใช้งานได้โดยไม่ต้องใช้ sudo (สำหรับการติดตั้งอะไร)
Ali

@Ali: ดูโพสต์บล็อกต่อไปนี้: r-bloggers.com/ascii-scatterplots-in-r
Sardathrion - ต่อต้านการละเมิด SE

ขอบคุณฉันไม่มีความคิดฉันต้องลองสิ่งนี้แม้ว่าฉันจะไม่เคยใช้ R แต่ควรจะง่ายสำหรับกรณีการใช้งานที่เรียบง่ายของ mp
Ali

1

"Generic plotting tools available in the unix toolbox"อาจเป็นเครื่องมือ Un * x พื้นฐานทุกอย่างคุณต้องรวมเครื่องมือเพื่อสร้างสิ่งต่าง ๆ ฉันชอบรวม ​​Latex, 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 แล้วพิมพ์คอลัมน์ evevery 100th หรือ s / แบบนั้นเพื่อดู ขออภัยเพียงแค่คาดเดา แต่ฉันรู้ว่า TIFF เป็นรูปแบบภาพแรสเตอร์โดยพฤตินัยสำหรับวัตถุประสงค์ในการเก็บถาวรทุกประเภท - ฉันไม่ทราบว่าเครื่องยนต์ OCR เช่น Tesseract จัดการได้อย่างไร แต่ที่นี่ปัญหาง่ายเพราะคุณสามารถ ข้ามสิ่งต่างๆมากมายในการประมวลผลภาพล่วงหน้าเนื่องจากเรารู้ว่า R สร้างได้อย่างไร มีคนมีความคิดทำอย่างไร หรือฉันจะสร้างล้อใหม่? ที่ง่ายเลือกออกเครื่องมือที่สร้าง Hings เพื่อ ASCII "generic"เป็นบิตที่เข้มงวดที่จะเป็น

ที่เกี่ยวข้อง

  1. เครื่องมือใดสำหรับการสร้างพอร์ตโฟลิโอ ASCII?

อ่านคำถามอย่างระมัดระวัง (และความคิดเห็นที่ชัดเจนยิ่งขึ้น) สหกรณ์ต้องการที่จะแสดงผลใน terminal
dmckee --- ผู้ดูแลอดีตลูกแมว

@dmckee: ใช่ แต่ op ต้องการ"generic"เครื่องมือด้วย! ตอนนี้เป็นเรื่องยากเพราะฉันคิดว่ามันทำให้เกิดปัญหากับ OCR Prob probe ไม่แน่ใจว่า op รู้ตัวหรือไม่

โดย "ทั่วไป" ฉันหมายถึงเครื่องมืออเนกประสงค์สิ่งต่าง ๆawkและsedที่ไม่ "เจาะจง" ไม่ได้ออกแบบมาสำหรับกรณีการใช้งานเฉพาะ ขออภัยหากเกิดความสับสน โดยพื้นฐานแล้วฉันต้องการทำแผนผังบาร์ที่เรียบง่ายในสถานี นั่นคือทั้งหมดที่
Ali

@Ali: หยุดอธิบาย คุณสั่งเราตอบ - และคำตอบที่ดีที่สุดชนะ คำตอบของฉันทำงานได้ยกเว้น "การส่งออก ASCII" คำถามของคุณชัดเจน แต่ในเวลานี้ฉันไม่สามารถช่วยคุณได้อีกต่อไป - ไม่ต้องกังวลกับคนที่มีมุมมองที่ต่างกันแค่ผ่อนคลาย - ใครบางคนจะแก้ปัญหานี้ไม่ช้าก็เร็ว ฉันกำลังมองหาวิธีการแก้ปัญหาที่คล้ายกันดังนั้นบางทีเราจะ ... ไม่แน่ใจว่าเราต้องขุดเป็นเครื่องมือ OCR เพื่อแก้ปัญหานี้ แต่ฉันคิดว่าคำถามนี้ยัง"unsolved"คงจะมองหานี้ ...

1

คุณสามารถเพียงแค่ไพพ์เอาท์พุทตัวเลขของคุณไปยังข้อมูลโค้ดอย่างง่าย ตัวอย่างเช่นต่อไปนี้เป็นโปรแกรมทดสอบ (เป็น 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 คือ miniscule

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.