2013-04-12 7 views
6

मैं पहले फ़ाइल लिखने के बिना ग्राफ प्रदर्शित करना चाहता हूं।इंटरमीडिएट फ़ाइल बनाने के बिना ग्राफविज़ से छवि प्रदर्शित करें?

मान लीजिए मैं एक कमांड foo कि यह पैदा करता है बाहर मानक:

digraph foogrph { 
    a -> b; 
    a -> c; 
} 

मैं करना चाहते हैं क्या dot में पाइप foo और फिर पाइप एक आदेश में परिणाम है कि एक में छवि प्रदर्शित होगी ग्राफिकल पर्यावरण।

foo | dot -Tpng | <display command> 

मुझे एक वर्कअराउंड मिला है जिसमें अस्थायी फ़ाइलें शामिल हैं। ओएसएक्स में, मैं निम्नलिखित कर सकता हूं:

foo | dot -Tpng > temp && open temp 

लेकिन मुझे अभी भी फाइल सिस्टम से फ़ाइल को हटाना होगा।

मैं मानक रूप से लिखी गई एक छवि को कैसे प्रदर्शित कर सकता हूं?

उत्तर

4
ImageMagick के प्रदर्शन आदेश के साथ

, उबंटू 12.10 पर इन काम (और सबसे अधिक संभावना अन्य OSes, भी):

dot abac.dot -Tsvg | display 
dot abac.dot -Tpng | display 

एसवीजी सुचारू रूप से खिड़की के साथ स्केलिंग का लाभ दिया है (अगर है कि तुम क्या चाहते हो)।

+1

मुझे एक्स 11 का उपयोग करने के लिए ओएसएक्स पर इमेजमैजिक को दोबारा जोड़ना पड़ा, मेरे पास अभी काम कर रहा है, लेकिन यह सही ढंग से एक पाइप से नहीं पढ़ता है। मुझे यद्यपि एक कामकाज मिला: 'प्रदर्शन <(echo' digraph {a-> b; b-> c; c-> d;} '| dot-tpng) ' – tlehman

+1

एक और विकल्प' डॉटी ', उदाहरण [यहां उपयोग करना है गिट विकी पर] (https://git.wiki.kernel.org/index.php/Aliases#Use_graphviz_for_display) – tlehman

+1

आईटर्म के साथ काम करने वाली 'imgcat' स्क्रिप्ट भी सीधे टर्मिनल पर छवि प्रदर्शित कर सकती है, यह बहुत प्यारी है:) – tlehman

संबंधित मुद्दे