ฉันจะแบ่งหนึ่งคอลัมน์ใน gnuplot ได้อย่างไร


11

ฉันมีไฟล์ข้อมูล gnuplot ฉันอยากจะพล็อตมัน แต่หารทุกค่าในแกน x ด้วย n

ฉันสามารถทำได้จากภายใน gnuplot หรือฉันต้องเขียนไฟล์ข้อมูลอีกครั้ง?


การดำเนินการนี้เป็นที่รู้จักกันทั่วไปว่าเป็น "การขยาย" บางทีคำนั้นอาจอยู่ในชื่อ
Dmitry Grigoryev

คำตอบ:


24

สมมติว่าxค่าอยู่ในคอลัมน์แรกของไฟล์'test.dat'และyค่าอยู่ในคอลัมน์ที่สองของไฟล์เดียวกันจากนั้นคุณสามารถเขียน:

plot 'test.dat' using ($1/n):($2)

ดูคู่มือสำหรับข้อมูลเพิ่มเติมและตัวอย่างเกี่ยวกับ'using'คำหลัก

'test.dat'หมายเหตุว่านี้จะไม่เปลี่ยนค่าของไฟล์ข้อมูลของคุณ awkหากคุณต้องการที่จะเขียนไฟล์ข้อมูลที่คุณสามารถทำได้โดยใช้ ตัวอย่างเช่น:

awk '{print $1/n,$2}' test.dat > testnew.dat

จะแทนxค่าในคอลัมน์แรกของtest.datด้วยและจะสร้างไฟล์ใหม่ที่เรียกว่าx/ntestnew.dat


ส่งการแก้ไขเพื่อแก้ไขลิงก์ที่เสียหายไปยังเวอร์ชัน HTML สุดท้ายของคู่มือ นอกจากนี้โปรดทราบว่าคู่มือมีให้บริการในรูปแบบ PDF ในเวอร์ชันล่าสุดเท่านั้น gnuplot.info/documentation.html
Asahiko

เราสามารถแบ่งค่าของคอลัมน์บางอย่างได้ด้วย:plot "path/to/data.dat" using 1:($5/$3) with lines
Dohn Joe
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.