यूनिक्स टूलबॉक्स में कोई (पाठ आधारित) प्लॉटिंग टूल?


9

मैं सोच रहा था कि क्या यूनिक्स टूलबॉक्स में कोई जेनेरिक प्लॉटिंग टूल उपलब्ध हैं?
साजिश रचने से मेरा मतलब है कि आप बहुत से शाप आधारित उपयोगिताओं में साधारण बार या चीजें देखते हैं।
और यूनिक्स टूलबॉक्स द्वारा मेरा मतलब है कि आप मानक यूनिक्स सम्मेलनों का उपयोग करके डेटा को पाइप कर सकते हैं।

मुझे लॉग फाइल में somethings को गिनने की जरूरत है (जो मैं tail -Fया कुछ के साथ निगरानी कर रहा हूं ) और चीजों के लाइव अनुपात (जैसे प्रतिशत त्रुटियां या चेतावनी) की साजिश रचने के लिए।

जवाबों:


9

आप के लिए सेट gnuplotविकल्प के साथ देख रहे हैं ।terminaldumb

मेरी पहली पसंद नहीं है, क्योंकि मेरे पास मेरी सभी मशीनों पर रूट है , लेकिन एक विश्वसनीय, सर्वव्यापी स्टैंडबाय है।

Cernlib का PAW ASCII आउटपुट भी कर सकता है, हालाँकि आपको वास्तव में इसका उपयोग करने के लिए बहुत बहादुर होना पड़ेगा क्योंकि यह मान लेता है कि आपके पास 132 कॉलम का पंखा-फोल्ड टर्मिनल है।


... The development and support for CERNLIB has been discontinued. Libraries will be continued to be provided "as is", चेतावनी? उदाहरण के लिए R Sweave लेटेक्स के बजाय Cernlib के PAW का उपयोग करने से क्या लाभ है? यह कभी नहीं सुना है, सामान्य उपकरण ?! R स्वेव लेटेक्स से पहले मैंने gnuplot का उपयोग किया था, मुझे उत्तरार्द्ध का उपयोग करने के लिए अधिक सुविधाजनक लगता है - चित्रों सहित एक पाठ-फ़ाइल में सब कुछ। क्या आप gnuplot के साथ ऐसा कर सकते हैं?

@hhh आप "Cernlib's PAW भी कर सकते हैं " के तनाव पर ध्यान देंगे , हालांकि लोग अभी भी इसका उपयोग करते हैं क्योंकि वहाँ से परिपक्व कोड का एक बड़ा सौदा है।
dmckee --- पूर्व-मध्यस्थ बिल्ली का बच्चा

बहुत अच्छी तरह से लेकिन के लिए जोड़ा हिस्सा क्या है? "132 column fan-fold terminal", यह क्या है? डॉट-मैट्रिक्स प्रिंटर के लिए? तो यह कुछ बहुत पुरानी परियोजना है ?! क्षमा करें, आपका जवाब बहुत अधिक उम्र का है, "[n]ot my first choice"gnuplot के साथ? मुझे समझने का समय लगता है कि आप क्या अर्थ और लेखन कर रहे हैं। क्यों ज्ञानपीठ?

PAW के लिए ASCII आउटपुट मोड को "क्लंकी" के रूप में वर्णित किया गया था। जब तक मैं cernlib का उपयोग कर रहा था तब तक यह एक्स पर देशी था और सीधे पोस्टस्क्रिप्ट या एन्कैप्सुलेटेड पोस्टस्क्रिप्ट पर लिख सकता था जो कि हमने उपयोग किया है, हालांकि, इसके कुछ हिस्सों ने 1960 के दशक की शुरुआत में कोड को निर्धारित करने के लिए अपनी जड़ों का पता लगा सकते हैं। ऐसा लगता है कि आपके पास हार्ड कॉपी टर्मिनल है ; उनमें से कई ने बारी-बारी से प्रकाश और अंधेरे बैंड के साथ 132 वर्ण चौड़ा प्रारूप का उपयोग किया ताकि उन्हें पढ़ने में आसानी हो। पुराने पर्याप्त गीक्स सभी को सामान याद रखने में सक्षम होंगे (आप अभी भी इसे कभी-कभी 1980 तक देर से देखा करते हैं)।
dmckee --- पूर्व-मध्यस्थ ने

1
set term dumbभूखंड ascii को
कीव

3

आप R का उपयोग कर सकते हैं जो आपको कुछ बहुत अच्छे ग्राफ़ उत्पन्न कर सकता है और आपके डेटा पर बहुत सारे सांख्यिकीय विश्लेषण कर सकता है। यह ब्लॉग पोस्ट आपको इसे करने का एक तरीका दिखाता है।

इसी तरह, आप यहाँ और यहाँ gnuplot देख उपयोग कर सकते हैं


धन्यवाद, लेकिन मैं किसी भी GUI का उपयोग नहीं करना चाहता, न ही कोड लिखने के लिए और न ही प्लॉट दिखाने के लिए, मैं इसे पूरी तरह से टर्मिनल में करना चाहता हूं। इसके अलावा, मैं इसे सूडो (किसी भी चीज़ की स्थापना के लिए) की आवश्यकता के बिना चला सकता हूं।
अली

@Ali: निम्नलिखित ब्लॉग पोस्ट को देखें: r-bloggers.com/ascii-scatterplots-in-r
Sardathrion - SE दुरुपयोग के खिलाफ

thanx, मुझे कोई अंदाजा नहीं था, मुझे यह कोशिश करने की जरूरत है, हालांकि, मैंने कभी भी आर का उपयोग नहीं किया है, लेकिन एमपी सरल उपयोग के मामले में आसान होना चाहिए।
अली

1

"Generic plotting tools available in the unix toolbox"शायद हर बुनियादी Un * x उपकरण है, आपको चीजों को बनाने के लिए उपकरणों को संयोजित करने की आवश्यकता है। मुझे लेटेक्स, आर और स्वेव को गठबंधन करना पसंद है! यह शब्द "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 

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}

अब अगली पहेली एक्सेसिबिलिटी है (ऑप्स को दबाने से ASCII आउटपुट चाहिए, न कि सिर्फ जेनरिक टूल)। क्षमा करें, मेरे पास अभी तक इसके लिए कोई उत्तर नहीं है लेकिन मैं आगे की खोज के लिए नीचे दी गई जानकारी को सूचीबद्ध करूंगा।

बस सोच समझकर: TIFF जैसे रैस्टर इमेज फॉर्मेट को चुनें और फिर इसे देखने के लिए evevery 100th कॉलम या s / चीज को प्रिंट करें। क्षमा करें, केवल अनुमान लगाने पर मुझे पता है कि TIFF सभी प्रकार के अभिलेखीय उद्देश्यों के लिए एक वास्तविक वास्तविक छवि प्रारूप है - मुझे अभी तक ठीक से पता नहीं है कि OCR इंजन, जैसे कि Tesseract, उन्हें कैसे संभालते हैं, लेकिन यहाँ समस्या आसान है क्योंकि आप छवि के प्रीप्रोसेसिंग में बहुत सारा सामान छोड़ें - क्योंकि हम जानते हैं कि आर उन्हें कैसे उत्पन्न करता है। किसी को एक विचार मिला कि यह कैसे होता है? या मैं पहिया को फिर से मजबूत कर रहा हूं? सरलतम तरीके से, एक ऐसा उपकरण निकालिए जो ASCII को उत्पन्न करता हो, जो थोड़ा प्रतिबंधक हो "generic"

सम्बंधित

  1. ASCII पोर्टफोलियो विज़ुअलाइज़ेशन के लिए कौन से उपकरण?

प्रश्न को ध्यान से पढ़ें (और टिप्पणी जहां इसे अधिक स्पष्ट किया गया है)। ओपी टर्मिनल में परिणाम प्रदर्शित करना चाहते हैं ।
dmckee --- पूर्व-मध्यस्थ ने बिल्ली का बच्चा

@ डमकी: हाँ, लेकिन ऑप को भी "generic"टूल की आवश्यकता होती है ?! अब यह कठिन है क्योंकि मुझे लगता है कि यह ओसीआर-आधारित क्रियाओं को प्रभावित करता है, यह सुनिश्चित नहीं है कि ऑप इसका एहसास करता है या नहीं।

"जेनेरिक" से मेरा मतलब है, बहुउद्देशीय उपकरण, जैसी चीजें awkऔर sedजो "विशिष्ट" नहीं हैं, एक विशिष्ट उपयोग के मामले के लिए डिज़ाइन नहीं की गई हैं। क्षमा करें यदि यह भ्रमित है। मूल रूप से मैं टर्मिनल में बहुत ही सरल बार प्लॉट बनाना चाहता हूं। बस इतना ही।
अली

@ अली: समझाना बंद करो। आप आज्ञा देते हैं, हम उत्तर देते हैं - और सर्वोत्तम उत्तर जीतता है। मेरा जवाब "एएससीआईआई आउटपुट" को छोड़कर काम करता है। आपका प्रश्न स्पष्ट है लेकिन इस समय मैं आपकी और मदद नहीं कर सकता - अलग-अलग विचार रखने वाले लोगों की परवाह न करें, बस आराम करें - कोई व्यक्ति जल्द या बाद में इसे हल करेगा। मैं भी इसी तरह की समस्या के समाधान की तलाश में हूं, इसलिए शायद हम करेंगे ... निश्चित नहीं कि हमें इसे हल करने के लिए ओसीआर इंजनों में खुदाई करनी है, लेकिन मुझे लगता है कि यह सवाल अभी भी है "unsolved", इसके लिए खोज करेंगे ...

1

आप बस एक साधारण पर्ल स्निपेट पर अपने संख्यात्मक आउटपुट को पाइप कर सकते हैं। उदाहरण के लिए, यहां एक टेस्ट प्रोग्राम (बैश में) जो सिर्फ बढ़ती संख्या को आउटपुट करता है:

(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 है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.