ไม่สามารถพล็อตเส้นตรงใน gnuplot โดยไม่แสดงประเภทจุดที่แตกต่างกัน

ฉันใช้ gnuplot เพื่อพล็อตตัวเลข แต่โครงเรื่องทำให้ฉันมีจุดประเภทต่างๆ แทนที่จะเป็นเส้นตรง ผมอยากพลอตมันโดยใช้แต่เส้นตรง แต่ให้เอาเครื่องหมาย x หรือเครื่องหมายบวก หรือสัญลักษณ์อื่นๆ ต่อไป นี่คือสิ่งที่ฉันมีสำหรับสคริปต์ gnuplot

set terminal pdf
set output "temperatures.pdf"
set style line 1 lc rgb "red" lt 1
set style line 2 lc rgb "blue" lt 1
set style line 3 lc rgb "purple" lt 1
set style line 4 lc rgb "orange" lt 1
set style line 5 lc rgb "cyan" lt 1
set xrange [0:780]
set yrange [0:88]
set xlabel "Time (s)"
set ylabel "Temperature (°C)"
set key bottom right
plot "data.dat" using 6:1 ls 1 notitle, "data.dat" using 6:2 ls 2 notitle, "data.dat" using 6:3 ls 3 notitle, "data.dat" using 6:4 ls 4 notitle, "data.dat" using 6:5 ls 5 notitle, \
    NaN ls 1 title "600 MHz", NaN ls 2 title "800 MHz", NaN ls 3 title "1100 MHz", NaN ls 4 title "1300 MHz", NaN ls 5 title "1500 MHz"

ป้อนคำอธิบายรูปภาพที่นี่


person Jinzu    schedule 23.09.2020    source แหล่งที่มา


คำตอบ (1)


มีรูปแบบการวางแผนที่แตกต่างกัน เช่น with points, with lines, with linespoints และอื่นๆ อีกมากมาย คุณยังสามารถย่อสไตล์ได้โดยใช้ w p, w l และ w lp ตรวจสอบ help with หากคุณไม่ระบุสิ่งใด ค่าเริ่มต้นคือ with points นั่นคือสิ่งที่คุณได้รับ การตั้งค่าสไตล์เส้นหรือประเภทเส้นไม่ได้หมายความว่าคุณกำลังพล็อตเพียงเส้นเดียวเสมอไป คุณต้องใช้ with lines อย่างชัดเจนด้วย

อย่างไรก็ตาม คุณสามารถใช้ไฟล์ที่ใช้ล่าสุดได้โดยการระบุ '' และเพื่อให้อ่านง่าย คุณสามารถเขียนหลายบรรทัดโดยคั่นด้วย \ (หมายเหตุ \ จะต้องเป็นอักขระตัวสุดท้ายในบรรทัด ห้ามเว้นวรรคหรืออักขระอื่นหลังจากนั้น)

ลองดังต่อไปนี้:

plot "data.dat" u 6:1 w l ls 1 title "600 MHz", \
     '' u 6:2 w l ls 2 title "800 MHz", \
     '' u 6:3 w l ls 3 title "1100 MHz", \
     '' u 6:4 w l ls 4 title "1300 MHz", \
     '' u 6:5 w l ls 5 title "1500 MHz"
person theozh    schedule 23.09.2020