आप gnuplot में बार चार्ट कैसे प्लॉट करते हैं?


जवाबों:


122

सरल बार ग्राफ:

बार ग्राफ

set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes

Data.dat:

0 label       100
1 label2      450
2 "bar label" 75

यदि आप अपनी सलाखों को अलग तरह से स्टाइल करना चाहते हैं, तो आप कुछ ऐसा कर सकते हैं:

बहु रंग बार ग्राफ

set style line 1 lc rgb "red"
set style line 2 lc rgb "blue"

set style fill solid
set boxwidth 0.5

plot "data.dat" every ::0::0 using 1:3:xtic(2) with boxes ls 1, \
     "data.dat" every ::1::2 using 1:3:xtic(2) with boxes ls 2

यदि आप प्रत्येक प्रविष्टि के लिए कई बार करना चाहते हैं:

Data.dat:

0     5
0.5   6


1.5   3
2     7


3     8
3.5   1

gnuplot:

set xtics ("label" 0.25, "label2" 1.75, "bar label" 3.25,)

set boxwidth 0.5
set style fill solid

plot 'data.dat' every 2    using 1:2 with boxes ls 1,\
     'data.dat' every 2::1 using 1:2 with boxes ls 2

barchart_multi

यदि आप मुश्किल हैं और कुछ साफ सुथरी चाल का उपयोग करना चाहते हैं:

Gnuplot में psuedo- कॉलम हैं जिन्हें रंग के सूचकांक के रूप में इस्तेमाल किया जा सकता है:

plot 'data.dat' using 1:2:0 with boxes lc variable

barchart_multi2

इसके अलावा आप अपने इच्छित रंगों को लेने के लिए एक फ़ंक्शन का उपयोग कर सकते हैं:

mycolor(x) = ((x*11244898) + 2851770)
plot 'data.dat' using 1:2:(mycolor($0)) with boxes lc rgb variable

barchart_multi3

नोट: आपको नमूना चित्रों के समान प्रभाव प्राप्त करने के लिए एक दूसरे को जोड़ना होगा।


कई अनुप्रयोगों के लिए यह histogramप्लॉटिंग शैली का उपयोग करने के लिए अधिक सुविधाजनक है , विशेष रूप से समूह और स्टैकिंग मूल्यों के लिए।
क्रिस्टोफ

@Christoph हाय, अगर मैं इस प्रकार के ग्राफ़ के लिए कुंजी जोड़ना चाहता हूँ? मुझे क्या करना चाहिए ? उदाहरण के लिए यदि मैं एक कुंजी जोड़ना चाहता हूं, जो कहती है कि ब्लू लाइन "विंटर" है और रेड लाइन "समर" है
एलेक्स

1
@alex निश्चित रूप से, उन सभी उदाहरणों में से जो आप का मतलब है: आपके साथ lc rgb variableअलग-अलग कुंजी प्रविष्टियाँ नहीं हो सकती हैं।
क्रिस्टोफ

जो भी कारण के लिए, मुझे प्रत्येक धारा के खंड के बाद निर्देश 'नोटिटल' का उपयोग करना था ताकि किंवदंती को ऊपर आने से रोका जा सके।
चिनचिनचिन 21

25
2: xtic (1) हिस्टोग्राम के साथ "data.dat" प्लॉट करें

यहाँ data.dat में फॉर्म का डेटा होता है

शीर्षक 1
शीर्षक २ ३
"लंबे शीर्षक" 5

17

मैं सिर्फ शीर्ष उत्तर पर विस्तार करना चाहूंगा, जो जीएनयूप्लॉट का उपयोग बार ग्राफ बनाने के लिए करता है, निरपेक्ष शुरुआती के लिए क्योंकि मैंने जवाब पढ़ा और अभी भी वाक्यविन्यास के प्रलय से भ्रमित था।

हम GNUplot कमांड की एक टेक्स्ट फाइल लिखकर शुरू करते हैं। आओ हम इसे कहते हैं।

set term png
set output "graph.png"
set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes

set term pngएक .png फ़ाइल को आउटपुट करने के लिए GNUplot सेट करेगा और set output "graph.png"उस फ़ाइल का नाम है जिसे वह आउटपुट करेगा।

अगली दो पंक्तियाँ बल्कि आत्म व्याख्यात्मक हैं। पांचवीं पंक्ति में बहुत अधिक वाक्यविन्यास है।

plot "data.dat" using 1:3:xtic(2) with boxes

"data.dat"वह डेटा फ़ाइल है जिस पर हम काम कर रहे हैं। 1:3इंगित करता है कि हम x-निर्देशांक के कॉलम 1 का उपयोग कर रहे हैं। y- निर्देशांक के लिए x और निर्देशांक के कॉलम 3 का उपयोग कर रहे हैं। xtic()एक ऐसा कार्य है जो x- अक्ष को क्रमांकित / लेबल करने के लिए जिम्मेदार है। xtic(2), इसलिए, इंगित करता है कि हम लेबल के लिए data.dat के कॉलम 2 का उपयोग करेंगे।

"data.dat" इस तरह दिखता है:

0 label       100
1 label2      450
2 "bar label" 75

ग्राफ़ को प्लॉट करने के लिए, gnuplot commands.txtटर्मिनल में दर्ज करें ।



2

आप सीधे शैली हिस्टोग्राम का उपयोग कर सकते हैं gnuplot द्वारा प्रदान करते हैं। यदि आपके पास आउटपुट में दो फ़ाइल हैं, तो यह एक उदाहरण है:

set style data histograms
 set style fill solid
 set boxwidth 0.5
 plot "file1.dat" using 5 title "Total1" lt rgb "#406090",\
      "file2.dat" using 5 title "Total2" lt rgb "#40FF00"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.