2013-05-24 24 views
10

मेरे पास एक गॉसियन वक्र है जो gnuplot के माध्यम से खींचा गया है और मैं एक रेखा चाहता हूं जो एक्स-अक्ष से ऊपर हो , वक्र को हिट करता है जहां यह वक्र को हिट करता है, और वाई-अक्ष को हिट करने के लिए बाईं ओर लंबवत जाता है, आदर्श रूप से अक्ष दोनों पर मान प्रदर्शित करता है, और एक प्रतीक प्रदर्शित करता है जहां यह एक्स-अक्ष के साथ छेड़छाड़ करता है।ग्नुपलॉट - एक्स-अक्ष से साजिश तक एक लंबवत रेखा खींचें, और साजिश से वाई-अक्ष

gnuplot में इसे जोड़ने का सही तरीका क्या है? मैंने नोहेड का उपयोग करके तीर के साथ खेलने की कोशिश की लेकिन मैं gnuplot के लिए नौसिखिया हूं और मुझे जो चाहिए उसे हासिल करने का कोई तरीका नहीं दिख रहा है।

उत्तर

17

मैं अपनी आवश्यकताओं के लिए एक आसान समाधान खोजने में कामयाब रहा। arrow वास्तव में to के निर्देशांक को साजिश के कार्य के लिए nohead के साथ उपयोग किया जा सकता है।

तो मान लें कि हमारे पास एक फ़ंक्शन f (x) है, और हम x = 3 से f (3) और संबंधित क्षैतिज रेखा y = f (3) से एक रेखा खींचना चाहते हैं, हमें बस इतना करना है 2 तीर जोड़:

set arrow from 3,0 to 3,f(3) nohead 
set arrow from 0,f(3) to 3,f(3) nohead 

जब से मैं भी चाहता था tics जोड़े जाने के लिए जहां लाइन अक्ष के साथ काटती है, अगर वे भूल रहे हैं, एक तो कर सकता है:

set xtics add (3 3) 
set ytics (f(3) f(3)) 

चूंकि दशमलव हो सकता है y अक्ष पर शामिल स्थानों को इस तरह कुछ करने की भी आवश्यकता हो सकती है (इस मामले में इसमें 3 दशमलव स्थान हैं) :

set format y "%1.3f" 

मैं x- अक्ष पर एक टिक के नीचे एक लेबल करने के लिए एक रास्ता खोजने के लिए प्रबंधन नहीं था, लेकिन इसके बाद के संस्करण मेरी जरूरतों के लिए पर्याप्त। उम्मीद है कि यह किसी अन्य समाधान के लिए किसी और के लिए मदद करता है।

+1

आप 'सेट xtics add ("$ x_1 $" 3)' का उपयोग कर टिक के लिए एक लेबल जोड़ सकते हैं उदाहरण के लिए 'सेट xtics add (3 3) 'के बजाय। पहला मान लेबल है। – Tymric

1

मैं निम्नलिखित तरीके से अतीत में इस मुद्दे को हल कर लिया है:

वक्र जहां आप अपने लाइनों के लिए जाना चाहते पर बिंदु के युग्म (x, y) को जानने का कार्य करें: - एक गणना मूल्यों का सेट (एक्स, {0..y}), और इसे साजिश दें। यह लंबवत रेखा होगी - - मानों का एक सेट ({0..x}, y) की गणना करें, और इसे साजिश करें। यह क्षैतिज रेखा

वैकल्पिक रूप से, आप डमी एरेज़ (x, {whole y range}) और ({संपूर्ण x श्रेणी}, y) बना सकते हैं, और इन्हें अपने मूल से बिंदु (x, वाई) श्रेणी सेटिंग में (एक्स, वाई) बिंदु निर्दिष्ट करके।

ये सबसे कुशल तरीके नहीं हो सकते हैं, लेकिन दोनों मेरे लिए काम करते हैं। मैंने पर्ल डेटा भाषा (पीडीएल) में इन मैनिप्लेशंस को एक पर्ल स्क्रिप्ट का उपयोग करके किया, जिसमें से मैं एक gnuplot कॉन्फ़िगरेशन फ़ाइल लिखता हूं और "सिस्टम" का उपयोग करके gnuplot को कॉल करता हूं।

आशा है कि इससे मदद मिलती है!

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