ไม่สามารถลงจุดด้วย gnuplot บน Mac ของฉัน


47

ฉันพยายามพล็อตด้วย gnuplot บน Mac ของฉัน (OS X 10.8.5) ฉันติดตั้ง X11 และ XQuartz 2.7.4 แล้วหลังจากนั้นฉันติดตั้ง gnuplot แต่น่าเสียดายที่ gnuplot ไม่สามารถลงจุดได้

แปลงอย่างง่ายเช่นล้มเหลวในการแสดงผลและไม่มีข้อความแสดงข้อผิดพลาดเพื่อช่วยให้เข้าใจสิ่งที่ไม่เหมาะสม:

 [1/10/13 $gnuplot >plot sin(x)

2
คุณช่วยพูดโดยเฉพาะเจาะจงมากขึ้นว่าอะไรไม่ทำงาน? บางทีคำสั่งที่คุณใช้ข้อความแสดงข้อผิดพลาดและผลลัพธ์ใช่หรือไม่
สกอต

1
เมื่อฉันต้องการพล็อต sin (x) ใน gnuplot มันไม่สามารถลงจุดและไปที่บรรทัดถัดไปโดยไม่มีข้อผิดพลาด $ gnuplot> plot sin (x)>
Soheil

โปรดแก้ไขรายละเอียดที่เกี่ยวข้องลงในเนื้อหาของคำถาม ความคิดเห็นจะถูกล้างเป็นครั้งคราวและเราไม่อยากให้ปัญหานี้เกิดขึ้นที่นี่
bmike

1
คุณติดตั้งมันได้อย่างไร?
user151019

xterm ให้ xterminal กับคุณหรือไม่?
user151019

คำตอบ:


49

สิ่งเดียวกันเกิดขึ้นกับฉัน แต่แล้วฉันก็วิ่ง

brew uninstall gnuplot; brew install gnuplot --with-x11

และติดตั้งXQuartz ตอนนี้gnuplotรองรับx11เทอร์มินัล:

คุณสามารถบันทึกผลลัพธ์ไปยังไฟล์และใช้qlmanage -p:

gnuplot -e 'set term png; set output "/tmp/plot.png"; plot sin(x)'; qlmanage -p /tmp/plot.png

qlmanage -pแสดงข้อผิดพลาด sandboxing ใน 10.9 และพิมพ์ข้อความที่ไม่จำเป็นไปยัง STDOUT ดังนั้นฉันจึงใช้ฟังก์ชั่นเหมือนql() { qlmanage -p "$@"&>/dev/null; }ใน shells

ตัวเลือกที่สามคือการใช้set term dumbสำหรับการส่งออกข้อความธรรมดา


1
บางทีฉันอาจจะช้าในวันนี้ แต่ฉันใช้เวลา 15 นาทีใน gnuplot docs ที่กำลังมองหาตัวอย่างง่ายๆเช่นนี้ .. หรือบางที docs อาจตั้งสมมติฐานบางอย่างเกี่ยวกับผู้ชมและฉันไม่ใช่หนึ่งในนั้น :)
Jared Beck

5
xQuartz หนักและโฮมบรูว์ไม่ได้บรรจุมัน ฉันใช้ตัวเลือก --qt แทนbew install gnuplot --qtและใช้งานได้ดีในตอนนี้
bibstha

3
ชื่อตัวเลือกเปลี่ยนเป็น--with-x11แต่ฉันไม่สามารถแก้ไขอักขระเพียงสองตัว
mgd

1
โปรดทราบว่าบางครั้งคุณต้องออกจากระบบและเข้าสู่ระบบอีกครั้งหลังจากติดตั้ง XQuartz (ไม่ทราบสาเหตุ แต่ไม่ได้ตั้งค่าตัวแปร $ DISPLAY อย่างถูกต้องจนกว่าฉันจะออกจากระบบ) นอกจากนี้ยังมีประโยชน์อย่างมากในการติดตั้ง XQuartz คือcaskroom.io : brew cask install xquartz
caesarsol

ไม่ทำงานสำหรับ OS X Yosemite
Mateusz Piotrowski

24

ใน OS X Yosemite 10.10.2 และ El Capitan 10.11.2, Gnuplot ไม่ได้จัดทำแพ็คเกจด้วย XQuartz คำตอบในความคิดเห็นของbibstha ตัวจัดการหน้าต่างที่แข็งแกร่งมากขึ้นอยู่ในqtและทำงาน

 brew uninstall gnuplot
 brew install gnuplot --with-qt

โปรดทราบว่าการใช้--qtเลิกใช้แล้วในขณะนี้


เช่นเดียวกับที่สังเกตด้านWarning: gnuplot: --qt was deprecated; using --with-qt instead!
Vitaly

@vitaly ที่น่าสนใจ ฉันไม่ได้รับคำเตือนนั้นหรือไม่สนใจ ฉันเปลี่ยนคำสั่ง
LéoLéopold Hertz 준영

--qt ต้องได้รับการที่ถูกต้องในบางจุดและแล้วมันก็เลิก
Vitaly

1
ทำไมไม่เลือกทั้งคู่: brew install gnuplot --with-qt --with-x11.
kenorb

เนื่องจากข้อบกพร่องที่มี X11 ในโยเซมิตี ไม่ใช้ในขณะนี้โยเซมิตีจึงไม่สามารถทดสอบกับการอัปเดตล่าสุดได้
LéoLéopold Hertz 준영

4

คุณกำลังเรียกใช้สิ่งนี้จากหน้าต่าง Terminal หรือหน้าต่าง X11 หรือไม่? เทอร์มินัลจะเรียกใช้ X11 แยกต่างหากเพื่อแสดงพล็อตดังนั้นจึงอาจไม่ปรากฏทันที (หรือมองเห็นได้) X11 เปิดตัวเลยหรือไม่เมื่อคุณพิมพ์plotคำสั่งของคุณ?

หากคุณลองใช้ในหน้าต่าง X11 ผลลัพธ์ควรเป็นทันทีมากกว่า

นอกจากนี้หากคุณใช้ macports เพื่อติดตั้งในตอนแรกฉันขอแนะนำให้ใช้homebrewแทน:

brew install gnuplot

แก้ไข : หากต้องการตรวจสอบว่าจะส่งออกไปที่ใดคุณสามารถนำผลลัพธ์ของคุณไปยังไฟล์:

set terminal png
set output 'testimage.png'
plot sin(x)
exit

จากนั้นดูว่าไฟล์ที่ชื่อว่าtestimage.pngมีพล็อตของคุณหรือไม่ คุณสามารถลองระบุเทอร์มินัลด้วย:

set terminal x11

ใช่คุณพูดถูกและคนสุดท้าย> ไม่ใช่ส่วนหนึ่งของคำสั่งของฉัน ยิ่งไปกว่านั้นฉันกำลังเรียกใช้จากทั้งหน้าต่างเทอร์มินัลและหน้าต่าง X11 แยกจากกัน
Soheil

จากนั้นฉันจะลองติดตั้งใหม่brewอีกครั้ง เป็นการยากที่จะวินิจฉัยโดยไม่ทราบเพิ่มเติมเกี่ยวกับการติดตั้งของคุณ
เบโร

(คำตอบเมื่อมีอีกสิ่งหนึ่งในการทดสอบ ... )
Beroe

ทำไมการแทนที่ macports ด้วยการชงสร้างความแตกต่างที่พวกเขาทำงาน - ทั้งดีกว่าการทำด้วยตัวคุณเอง
user151019

ในประสบการณ์ของฉันฉันมีปัญหากับห้องสมุดและการอ้างอิงเมื่อฉันใช้ MacPorts จึงได้หยุดการทำเช่นนั้น ...
Beroe

1

ในโยเซมิตีตอนแรกฉันติดตั้ง quartz และ gunplot 5.0.0 แล้ว อย่างไรก็ตามฉันไม่สามารถโหลดหน้าต่าง x11 ของฉัน (ทุกอย่างเป็นไฟล์ -11 ไม่เป็นที่รู้จัก) นี่คือวิธีแก้ปัญหาที่ 'ทำงานเพื่อฉัน'

ไปที่โฟลเดอร์ซอร์ส gunplot

make clean; 
make uninstall

จากนั้นในไฟล์ "configure" ภายใต้บรรทัดต่อไปนี้

# Standard set of common directories for X headers.

# Check X11 before X11Rn because it is often a symlink to the current release.

---added the location of my X11 files also  
/opt/X11/include

ตอนนี้ทำงาน

./configure
make
sudo make install

ทำงานอย่างสมบูรณ์แบบสำหรับฉันตามที่คุณเห็นด้านล่าง

G N U P L O T
Version 5.0 patchlevel 0    last modified 2015-01-01 

Copyright (C) 1986-1993, 1998, 2004, 2007-2015
Thomas Williams, Colin Kelley and many others

gnuplot home:     http://www.gnuplot.info
faq, bugs, etc:   type "help FAQ"
immediate help:   type "help"  (plot window: hit 'h')

set to 'x11'ประเภทอาคาร


คุณติดตั้ง X11 / opt ได้อย่างไรไม่ปกติฉันคิดว่า
user151019

0

ขอบคุณ หลังจากดาวน์โหลด gunplot 5.0 และติดตั้งภายใต้ Yosemite 10.10.2, gnuplot ไม่สามารถ "โหลด" เทอร์มินัล x11 หลังจากชี้ไฟล์กำหนดค่าไปที่ / opt / X11 / include (การกำหนดค่าใหม่สร้างใหม่และติดตั้งใหม่) ทุกอย่างทำงานได้ดี (ฉันประหลาดใจเช่นกันว่า X11 อยู่ใน / opt / X11)


ทำไมไม่ใช้แบ็กเอนด์ควอตซ์แทน X11
151019

0

คำแนะนำส่วนใหญ่ที่นี่แสดงวิธีการติดตั้ง / ติดตั้ง GNUPlot brewอีกครั้งผ่านทาง หากคุณมีการติดตั้ง GNUPlot และไม่แน่ใจว่าเทอร์มินัลใดที่ใช้งานอยู่คุณสามารถระบุได้ดังนี้:

$ gnuplot <<<'show terminal'

   terminal type is qt 0 font "Sans,9"

ตอนนี้เรารู้แล้วว่าเรากำลังใช้qtประเภทอาคารผู้โดยสาร มีข้อมูลบางในขณะนี้อยู่ในมือของคุณสามารถตัดสินใจที่แน่นอนของการกระทำที่จะใช้อย่างใดอย่างหนึ่งดังต่อไปนี้หนึ่งในคำตอบอื่น ๆ ที่จะติดตั้งใหม่ gnuplot ผ่านหรือการกำหนดค่าสถานีที่มีอยู่ในสิ่งที่คุณต้องการผ่านทางbrew set terminal ....คำสั่ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.