Kann nicht mit Gnuplot auf meinem Mac plotten

47

Ich versuche, mit Gnuplot auf meinem Mac (OS X 10.8.5) zu plotten. Ich habe X11 und XQuartz 2.7.4 installiert und danach Gnuplot installiert, aber leider konnte Gnuplot nicht zeichnen.

Einfache Darstellungen wie die folgenden werden nicht gerendert und enthalten keine Fehlermeldung, um zu verstehen, was nicht stimmt:

 [1/10/13 $gnuplot >plot sin(x)
Soheil
quelle
2
Können Sie genauer sagen, was nicht funktioniert? Vielleicht die Befehle, die Sie verwenden, Fehlermeldungen und Ergebnisse?
Scot
1
Wenn ich sin (x) in gnuplot zeichnen möchte, kann es nicht zeichnen und es geht ohne Fehler zur nächsten Zeile. $ gnuplot> plot sin (x)>
Soheil
Bitte bearbeiten Sie die relevanten Details im Hauptteil der Frage. Kommentare werden von Zeit zu Zeit gelöscht und wir würden es hassen, das Problem zu verlieren, wenn das hier passiert.
bmike
1
Wie genau haben Sie es installiert?
user151019
Gibt Ihnen xterm ein xterminal?
user151019

Antworten:

49

Mir ist dasselbe passiert, aber dann bin ich gerannt

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

und installierte XQuartz . gnuplotUnterstützt jetzt das x11Terminal:

Sie können die Ausgabe auch in einer Datei speichern und verwenden qlmanage -p:

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

qlmanage -pzeigt einen Sandbox-Fehler in 10.9 und druckt unnötigen Text nach STDOUT, sodass ich eine Funktion wie ql() { qlmanage -p "$@"&>/dev/null; }in Shells verwende.

Eine dritte Option ist die Verwendung set term dumbfür die reine Textausgabe.

Lri
quelle
1
Vielleicht bin ich heute langsam, aber ich habe gute 15 Minuten in den Gnuplot-Dokumenten verbracht, um nach einem einfachen Beispiel wie diesem zu suchen. Oder vielleicht machen die Dokumente einige Annahmen über das Publikum und ich bin keiner von ihnen :)
Jared Beck
5
xQuartz ist schwer und irgendwie packt Homebrew es nicht. Ich habe stattdessen die Option --qt gewählt bew install gnuplot --qtund sie funktioniert jetzt einwandfrei .
Bibstha
3
Der Optionsname wurde in geändert, --with-x11aber ich kann nur zwei Zeichen bearbeiten.
8.
1
Beachten Sie, dass Sie manchmal müssen sich abmelden und wieder anmelden , nachdem XQuartz installieren. (Ich weiß nicht warum, aber es hat die Variable $ DISPLAY nicht richtig gesetzt, bis ich mich abgemeldet habe.) Sehr nützlich für die Installation von XQuartz ist auch caskroom.io : brew cask install xquartz
caesarsol
funktioniert nicht für OS X Yosemite
Mateusz Piotrowski
24

In OS X Yosemite 10.10.2 und El Capitan 10.11.2 wird Gnuplot nicht mit XQuartz gepackt. Antworte in bibsthas Kommentar. Viel robusterer Fenstermanager ist in qt und es funktioniert

 brew uninstall gnuplot
 brew install gnuplot --with-qt

Beachten Sie, dass die Verwendung --qtjetzt veraltet ist.

Masi
quelle
Nur als RandnotizWarning: gnuplot: --qt was deprecated; using --with-qt instead!
Vitaly
@vitaly Interessant. Ich habe diese Warnung nicht bekommen oder ignoriert. Ich habe den Befehl geändert.
Léo Léopold Hertz 준영
--qt muss irgendwann gültig gewesen sein und dann war es veraltet
vitaly
1
Warum nicht beides zur Auswahl: brew install gnuplot --with-qt --with-x11.
Kenorb
Wegen des Fehlers mit X11 in Yosemite. Yosemite wird derzeit nicht verwendet, kann also nicht mit dem neuesten Update getestet werden.
Léo Léopold Hertz 준영
4

Führen Sie dies in einem Terminalfenster oder einem X11-Fenster aus? Das Terminal startet X11 separat, um das Diagramm anzuzeigen, sodass es möglicherweise nicht sofort (oder nicht sichtbar) angezeigt wird. Wird X11 überhaupt gestartet, wenn Sie Ihren plotBefehl eingeben?

Wenn Sie es in einem X11-Fenster versuchen, sollte das Ergebnis unmittelbarer sein.

Wenn Sie es ursprünglich mit macports installiert haben, würde ich homebrewstattdessen Folgendes empfehlen :

brew install gnuplot

BEARBEITEN : Um zu überprüfen, wohin die Ausgabe geht, können Sie Ihre Ergebnisse in eine Datei umleiten:

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

Überprüfen Sie dann, ob eine aufgerufene Datei testimage.pngIhr Diagramm enthält. Sie können auch versuchen, das Terminal anzugeben mit:

set terminal x11
beroe
quelle
Ja, Sie haben recht und das letzte> gehört nicht zu meinem Befehl. Außerdem starte ich sowohl in einem Terminal-Fenster als auch in einem X11-Fenster, aber keiner von ihnen konnte zeichnen.
Soheil
Dann würde ich versuchen mit neu zu installieren brew. Es ist schwer zu diagnostizieren, ohne mehr über Ihre Installation zu wissen.
Beroe
(Aktualisierte Antwort mit einer anderen Sache zu testen ...)
Beroe
Warum tut Macports durch brauen einen Unterschied machen sie beide arbeiten zu ersetzen - beide viel besser tun , als auf eigene Faust
user151019
Nach meiner Erfahrung habe ich Probleme mit Bibliotheken und Abhängigkeiten, wenn ich Macports verwende. Deshalb habe ich damit aufgehört ...
beroe
1

In Yosemite hatte ich zunächst Quarz und Gunplot 5.0.0 installiert. Allerdings konnte ich mein x11-Fenster nicht laden (alles andere war Datei-X11 war irgendwie unbekannt). Hier ist eine Problemumgehung, die für mich funktioniert hat.

Wechseln Sie in den Gunplot-Quellordner

make clean; 
make uninstall

dann in der "configure" -Datei unter den folgenden Zeilen

# 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

jetzt renn

./configure
make
sudo make install

hat perfekt für mich funktioniert, wie Sie unten sehen

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')

Terminaltyp set to 'x11'.

Praveen CS
quelle
Wie hast du X11 installiert / opt ist nicht üblich, denke ich
user151019
0

Vielen Dank. Nachdem gunplot 5.0 heruntergeladen und unter Yosemite 10.10.2 installiert wurde, konnte gnuplot das x11-Terminal nicht "laden". Nach dem Verweisen der Konfigurationsdatei auf / opt / X11 / include (Neukonfiguration, Neuherstellung und Neuinstallation) funktionierte alles einwandfrei. (Ich war auch überrascht, dass X11 in / opt / X11 ist.)

Kent Milfeld
quelle
Warum nicht lieber ein Quarz-Backend als X11 verwenden
user151019
0

Die meisten Ratschläge hier zeigen, wie GNUPlot über installiert / neu installiert wird brew. Wenn Sie eine Installation von GNUPlot haben und nicht sicher sind, welches Terminal verwendet wird, können Sie dies folgendermaßen bestimmen:

$ gnuplot <<<'show terminal'

   terminal type is qt 0 font "Sans,9"

Jetzt wissen wir, dass wir den qtTerminaltyp verwenden. Mit den jetzt verfügbaren Informationen können Sie entscheiden, brewwie Sie vorgehen möchten, indem Sie entweder eine der anderen Antworten befolgen, um GNUPlot über neu zu installieren, oder Ihr vorhandenes Terminal wie gewünscht über konfigurieren set terminal ..... Befehl.

slm
quelle