2015-05-19 6 views
6

मैं फ़ाइल में ग्राफ को कैसे सहेज सकता हूं और इसे प्रदर्शित करने के लिए प्रिंट भी कर सकता हूं? मैंने कोशिश की है:डिस्प्ले पर ग्राफ दिखाएं और इसे एक साथ फ़ाइल में सहेजने के लिए gnuplot

#!/usr/bin/gnuplot -p 

date=system("date +%F_%T | sed 's/:/-/g'") 

set term png 
set output date.".png" 

set term x11 
set out 

plot sin(x) 

पीएस: क्या gnuplot विंडो में प्रदर्शित ग्राफ को सहेजने की संभावना है? मैंने देखा है कि क्लिपबोर्ड बटन पर प्रतिलिपि है लेकिन कोई सहेज नहीं है।

+0

चूंकि संस्करण 5 gnuplot में 'qt' और 'wxt' टर्मिनल के लिए एक सेव बटन है। – Christoph

+0

हैलो क्रिस्टोफ, क्या यह एक तरीका है कि इसे gnuplot 4.6 पैचलेवल 0 के लिए कैसे काम करें? –

+0

यहां हम जुलाई 2017 में संस्करण 5.0 पैचलेवल 3 का उपयोग कर रहे हैं, और तारीख की चीज़ ने मेरे लिए एक बड़ी समस्या हल की है। मुझे तारीख +% एफ के बारे में पता नहीं था (मुझे बस तारीख की आवश्यकता है क्योंकि मैं दिन के डेटा एकत्र होने के बाद मध्यरात्रि में ऐसा करता हूं), और फाइलनाम बनाने के लिए gnuplot में concatenating के बारे में। मेरे लिए यह पूरी चीज माइक्रोन का उपयोग करके दूसरी चीजों को समय तक स्वचालित कर देती है। अति उत्कृष्ट। मैंने अपनी हैट तुम्हें टिप में दी है। धन्यवाद। – SDsolar

उत्तर

6

तुम दोनों एक फाइल करने के लिए और x11 या wxt की तरह एक इंटरैक्टिव टर्मिनल के लिए एक साजिश भेजना चाहते हैं आप replot के बाद आप टर्मिनल

set terminal png 
set output 'file.png' 

plot sin(x) 

set terminal x11 
set output 
replot 

बदल आप x11 स्थापित करने के लिए नहीं करना चाहते हैं टर्मिनल पर स्पष्ट रूप, बल्कि डिफ़ॉल्ट टर्मिनल का उपयोग, जो कुछ भी यह है, तो आप विशेष टर्मिनल का उपयोग कर सकते push और pop तो बचाने के लिए और एक टर्मिनल बहाल:

set terminal push 
set terminal pngcairo 
set output 'file.png' 
plot sin(x) 
set terminal pop 
set output 
replot 

इसे अधिक पारदर्शी बनाने के लिए और किसी इंटरैक्टिव टर्मिनल पर प्लॉट करने के बाद किसी भी छवि को सहेजने के लिए आप एक gnuplot स्क्रिप्ट export.gp परिभाषित कर सकते हैं जिसे आप call कर सकते हैं और आउटपुट फ़ाइल नाम पैरामीटर के रूप में दे सकते हैं।

export.gp स्क्रिप्ट

set terminal push 
set terminal pngcairo 
set output '$0' 

replot 
set output 
set terminal pop 

है जिसे आप के रूप में

plot sin(x) 
call 'export.gp' 'test.png' 

नोट का उपयोग कर सकते हैं, हालांकि, कि निर्यात की गई फ़ाइल और इंटरैक्टिव विंडो में दिखाया साजिश अलग होगा, लेकिन अगर आप आउटपुट टर्मिनल के रूप में wxt इंटरैक्टिव और pngcairo या pdfcairo का उपयोग करते हैं, तो संभावनाएं काफी अधिक होती हैं, जो प्रदर्शित और निर्यात की गई छवियां बहुत समान होती हैं।

gnuplot 5.0 के साथ qt और wxt टर्मिनल विंडो में दिखाए गए चित्र को svg, pdf या png फ़ाइलों के रूप में सहेजने के लिए "निर्यात" बटन प्रदान करते हैं। दुर्भाग्यवश, इस कार्यक्षमता को अभी तक एक स्क्रिप्ट से नहीं बुलाया जा सकता है, यानी export कमांड नहीं है।

+0

पुश और पॉप के बारे में जानकारी के लिए धन्यवाद। मुझे इसके बारे में पता नहीं था। मैं अपने दृश्य प्लॉट्स के लिए बहुत कुछ पढ़ता हूं। लेकिन यह करने के लिए यह एक नया तरीका है। हालांकि, मेरा लगातार लगातार पढ़ता है। मुझे दोहराने के बारे में पता नहीं था। इसे देखना होगा क्योंकि शायद मैं इसे लगातार रीड करने की तरह नहीं करना चाहता हूं। – SDsolar

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