Неможливо скласти графік з 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
Як саме ви його встановили?
користувач151019

Чи дає xterm вам xterminal?
користувач151019

Відповіді:


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показує помилку пісочниці в 10,9 і друкує непотрібний текст STDOUT, тому я використовую функцію, як ql() { qlmanage -p "$@"&>/dev/null; }у оболонках.

Третій варіант - використовувати set term dumbдля простого виведення тексту.


1
Можливо, я сьогодні повільний, але я провів добрі 15 хвилин у документах gnuplot, шукаючи простий приклад, як цей .. або, можливо, документи роблять певні припущення щодо аудиторії, і я не з них :)
Джаред Бек

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
Матеуш Піотровський

24

В ОС 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 Цікаво. Я не отримав цього попередження або проігнорував. Я змінив команду.
Лео Леопольд Герц 준영

--qt повинен бути дійсним в якій - то момент , а потім він засуджувався
віталій

1
Чому б не вибрати обидва: brew install gnuplot --with-qt --with-x11.
kenorb

Через помилку X11 в Йосеміті. Наразі не використовується Yosemite, тому не можна перевірити останні оновлення.
Лео Леопольд Герц 준영

4

Ви запускаєте це через вікно терміналу чи вікно X11? Термінал запустить X11 окремо, щоб показати сюжет, тому він може не бути негайним (або видимим). Чи взагалі запускається X11, коли ви вводите plotкоманду?

Якщо ви спробуєте це у вікні X11, результат повинен бути більш негайним.

Крім того, якщо ви використовували макпорти для його початкового встановлення, рекомендую використовувати homebrewзамість цього:

brew install gnuplot

РЕДАКТУВАННЯ : Щоб перевірити, куди йде результат, ви можете направити результати на файл:

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

Потім подивіться, чи testimage.pngмістить названий файл ваш графік. Ви також можете спробувати вказати термінал за допомогою:

set terminal x11

Так, ви праві, і останнє> не входить до моєї команди. Більше того, я бігаю з вікна терміналів і вікна X11 окремо, але жодне з них не могло побудувати графік.
Soheil

Тоді я б спробував перевстановити brew. Важко діагностувати, не знаючи більше про вашу установку.
beroe

(Оновлена ​​відповідь з іншою справою для тестування ...)
beroe

Чому заміна макпортів на пивоваріння має різницю, вони працюють обоє - набагато краще, ніж робити самостійно
user151019

У моєму досвіді у мене проблеми з бібліотеками та залежностями, коли я використовую макпорти, тому перестали це робити ...
beroe

1

У Йосеміті спочатку у мене встановлено кварц та пістолет 5.0.0. Однак я не зміг завантажити своє вікно x11 (все інше було файлом-X11 було якось невідомо). Ось рішення, яке "працювало на мене".

Перейдіть до папки джерела рушниці

make clean; 
make uninstall

потім у файлі "налаштування" під наступними рядками

# 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 / включити (перенастроювати, переробити та перевстановити) кожен працював нормально. (Я також був здивований, що X11 знаходиться в / opt / X11.)


Чому б не скористатися кварцовим
бекендом,

0

Більшість порад тут показує, як встановити / перевстановити GNUPlot через brew. Якщо у вас є установка GNUPlot і не знаєте, який термінал використовується, ви можете визначити це так:

$ gnuplot <<<'show terminal'

   terminal type is qt 0 font "Sans,9"

На даний момент ми знаємо, що ми використовуємо qtтип терміналу. Маючи тонку інформацію в руці, ви можете вирішити, який курс дії потрібно вжити, дотримуючись одного з інших відповідей на перевстановлення GNUPlot через brewабо налаштування існуючого терміналу будь-яким способом за допомогою set terminal ..... командування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.