gnuplot - Plotting x versus sum(y) -
निम्न फ़ॉर्म के डेटा सेट पर विचार करें:
1 3 1 10 2 7 2 14 3 9
मुझे एक ग्नुप्लॉट स्क्रिप्ट चाहिए जो केवल 3 अंक (1, 3 + 10), (2, 7 + 14), (3, 9) साजिश करता है? सवाल एक समान स्वाद में है, लेकिन यह वास्तव में मेरी विशेष समस्या को हल नहीं करता है।
असल में , आपके द्वारा उल्लिखित लिंक आपको एक अच्छा संकेत देता है: आप अपने डेटा को प्री-प्रोसेस करने के लिए एडब्ल्यूके का उपयोग कर सकते हैं और फिर इसे gnuplot में पाइप कर सकते हैं।
निम्नलिखित पंक्ति आपको चाहिए कि आपको क्या चाहिए (यह मानते हुए कि आपका डेटा फ़ाइल में है in.txt
):
plot "& lt; awk '{If ($ 1 == last_x) sum_y + = $ 2; else {प्रिंट last_x, sum_y; sum_y = $ 2} last_x = $ 1} END {प्रिंट last_x, sum_y}' in.txt "पंक्तियों के साथ
{if ($ 1 == last_x) sum_y + = $ 2 else {प्रिंट last_x, के रूप में, Sum_y sum_y = $ 2} last_x = $ 1} END {प्रिंट last_x, sum_y}
ADDENDUM
यदि आपकी इनपुट फ़ाइल सॉर्ट नहीं की गई है एक्स निर्देशांक के अनुसार आप सॉर्ट
:
plot "के लिए कॉल को शामिल करने के लिए पाइप को बढ़ा सकते हैं & lt; sort -n -k 1 in.txt | awk ' {If ($ 1 == last_x) sum_y + = $ 2; else {print last_x, sum_y; sum_y = $ 2} last_x = $ 1} END {प्रिंट अंतिम_x, sum_y} '"पंक्तियों के साथ
Comments
Post a Comment