ฉันใช้ gnuplot ภายใต้ ubuntu 12.10 เมื่อฉันพิมพ์ใน terminal:
gnuplot> plot sin(x)
มันแสดงให้เห็นถึงขั้นตอนต่อไปเท่านั้น:
gnuplot>
แต่จะไม่แสดงหน้าต่างการพล็อตกราฟ ฉันจะทำอย่างไรเพื่อค้นหาปัญหา
ฉันใช้ gnuplot ภายใต้ ubuntu 12.10 เมื่อฉันพิมพ์ใน terminal:
gnuplot> plot sin(x)
มันแสดงให้เห็นถึงขั้นตอนต่อไปเท่านั้น:
gnuplot>
แต่จะไม่แสดงหน้าต่างการพล็อตกราฟ ฉันจะทำอย่างไรเพื่อค้นหาปัญหา
คำตอบ:
คุณอาจหายไป gnuplot-x11 ลองติดตั้ง ใน commandline ทำสิ่งนี้:
sudo apt-get install gnuplot-x11
เพิ่ม -p
หากคุณกำลังทำ:
gnuplot -e 'p sin(x)'
เพิ่ม-p
มันช่วยได้มาก:
gnuplot -p -e 'p sin(x)'
man gnuplot
เอกสาร:
-p, - ผู้ช่วยให้หน้าต่างพล็อตอยู่รอดหลังจากออกจากโปรแกรม gnuplot หลัก
ทดสอบกับ gnuplot 5.0 patchlevel 3, Ubuntu 16.04
ดูเหมือนว่าปัญหาจะเป็นประเภทเทอร์มินัล 'ไม่ทราบ' wxWidget library
หน้าต่างที่แยกต่างหากสำหรับการส่งออกถูกสร้างขึ้นโดย หากแพ็คเกจนี้ไม่ได้ติดตั้งไว้ในเครื่องของคุณจะไม่มีการสร้างหน้าต่างใด ๆ เลย อย่างไรก็ตามในการวาดบางอย่างในหน้าต่างนี้คุณต้องใช้แพ็คเกจอื่นสองแพ็คเกจเนื่องจาก wxWidget ไม่ได้วาดอะไรเลย แพคเกจทั้งหมดเหล่านี้สามารถติดตั้งพร้อมกันโดยคำสั่งดังต่อไปนี้
sudo apt-get install libcairo2-dev libpango1.0-dev libwxgtk2.8-dev
ถูกเตือนว่า wxWidget (libwxgtk) ต้องเป็น 2.8 และไม่ใช่ 3.0 หากคุณกำลังติดตั้งจากแหล่งที่มาแทนที่จะเป็นที่เก็บ หลังจากติดตั้งสิ่งเหล่านี้แล้วจะปลอดภัยกว่าที่จะทิ้งโฟลเดอร์ซอร์ส gnuplot จากเครื่องของคุณ ดาวน์โหลด gnuplot ล่าสุดและแตกไฟล์ในโฟลเดอร์ที่คุณต้องการติดตั้งในที่สุดคุณควรทำการเปลี่ยนแปลงconfigure
ไฟล์ที่คุณได้รับจากแหล่ง gnuplot ค้นหาบรรทัดต่อไปนี้ในนั้น:
wxt terminal: no (requires C++, wxWidgets>2.6, cairo>0.9, pango>1.10)
และเปลี่ยนno
เป็นyes
และบันทึก หลังจากเรียกใช้คำสั่งนี้./configure
แล้วและในที่สุดmake
sudo make install
ตอนนี้ gnuplot น่าจะทำงานได้ดี
แก้ไข : วันนี้ฉันพบปัญหาอื่นที่เกี่ยวข้องกับสถานี wxt ดังนั้นบางครั้งแม้หลังจากทำตามขั้นตอนที่ระบุไว้ข้างต้นคุณไม่ได้รับเทอร์มินัล wxt ที่สวยงามใน Ubuntu 14 แฮ็คตัวเล็ก ๆ เป็นเช่นนี้ (ฉันไม่ได้อธิบายเรื่องนี้เพียงทำตาม!)
sudo apt-get purge libwxbase3.0-dev wx3.0-headers libwxgtk3.0-0
จากนั้นลบ gnuplot จากโฟลเดอร์ bin ในที่สุดก็ทำซ้ำสิ่งที่ได้รับด้านบน