คุณจะพล็อตแผนภูมิแท่งใน gnuplot ด้วยป้ายข้อความได้อย่างไร?
คุณจะพล็อตแผนภูมิแท่งใน gnuplot ด้วยป้ายข้อความได้อย่างไร?
คำตอบ:
กราฟแท่งอย่างง่าย:
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
หากคุณต้องการที่จะยุ่งยากและใช้เทคนิค gnuplot ที่เป็นระเบียบ:
Gnuplot มีคอลัมน์ psuedo ที่สามารถใช้เป็นดัชนีสี:
plot 'data.dat' using 1:2:0 with boxes lc variable
นอกจากนี้คุณสามารถใช้ฟังก์ชันเพื่อเลือกสีที่คุณต้องการ:
mycolor(x) = ((x*11244898) + 2851770)
plot 'data.dat' using 1:2:(mycolor($0)) with boxes lc rgb variable
หมายเหตุ: คุณจะต้องเพิ่มคำสั่งพื้นฐานอื่น ๆ อีกสองสามคำเพื่อให้ได้เอฟเฟกต์เช่นเดียวกับภาพตัวอย่าง
lc rgb variable
คุณไม่สามารถมีรายการคีย์อื่นได้
พล็อต "data.dat" โดยใช้ 2: xtic (1) พร้อมฮิสโตแกรม
ที่นี่ data.dat มีข้อมูลของแบบฟอร์ม
ชื่อเรื่อง 1 title2 3 "ชื่อเรื่องยาว" 5
ฉันต้องการขยายคำตอบด้านบนซึ่งใช้ GNUPlot ในการสร้างกราฟแท่งสำหรับผู้เริ่มต้นอย่างแท้จริงเพราะฉันอ่านคำตอบแล้วและยังคงสับสนจากความหลากหลายของไวยากรณ์
เราเริ่มต้นด้วยการเขียนไฟล์ข้อความของคำสั่ง GNUplot ให้เรียกมันว่า commands.txt:
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
จะตั้งค่า GNUplot ให้ส่งออกไฟล์. png และset output "graph.png"
เป็นชื่อของไฟล์ที่จะส่งออกไป
สองบรรทัดถัดไปค่อนข้างอธิบายตนเอง บรรทัดที่ห้ามีไวยากรณ์จำนวนมาก
plot "data.dat" using 1:3:xtic(2) with boxes
"data.dat"
คือไฟล์ข้อมูลที่เราใช้งานอยู่ 1:3
บ่งบอกว่าเราจะใช้คอลัมน์ 1 ของ data.dat สำหรับพิกัด x และคอลัมน์ 3 ของ data.dat สำหรับพิกัด y xtic()
เป็นฟังก์ชันที่รับผิดชอบในการกำหนดหมายเลข / การติดฉลากแกน x xtic(2)
ดังนั้นบ่งชี้ว่าเราจะใช้คอลัมน์ 2 ของ data.dat สำหรับป้ายกำกับ
"data.dat" มีลักษณะดังนี้:
0 label 100
1 label2 450
2 "bar label" 75
ในการลงจุดกราฟให้ป้อนgnuplot commands.txt
ในเทอร์มินัล
ฉันขอแนะนำตัวสร้างกราฟแท่งของ Derek Bruening สคริปต์ Perl มีจำหน่ายที่http://www.burningcutlery.com/derek/bargraph/
คุณสามารถใช้ฮิสโตแกรมสไตล์ที่ 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"
histogram
รูปแบบการลงจุดจะสะดวกกว่าโดยเฉพาะการจัดกลุ่มและการซ้อนค่า