Auf meinem Mac kann ich mit gnuplot nicht plotten

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 habe ich gnuplot installiert, aber leider konnte gnuplot nicht plotten.

Einfache Diagramme wie die folgenden können nicht gerendert werden und haben keine Fehlermeldung, um zu verstehen, was nicht stimmt:

 [1/10/13 $gnuplot >plot sin(x)
Können Sie genauer sagen, was nicht funktioniert? Vielleicht die von Ihnen verwendeten Befehle, Fehlermeldungen und Ergebnisse?
Wenn ich sin(x) in gnuplot plotten möchte, kann es nicht plotten und es geht ohne Fehler zur nächsten Zeile. $gnuplot >plot sin(x) >
Bitte bearbeiten Sie die relevanten Details im Hauptteil der Frage. Kommentare werden von Zeit zu Zeit gelöscht und wir würden das Problem nur ungern verlieren, wenn das hier passiert.
Wie genau hast du es installiert?
Gibt Ihnen xterm ein xterminal?
Dies ist nicht nur ein Berglöwenproblem. Dies ist ein viel allgemeineres Problem in OS X und seiner Anzeige. Qt sollte als Tag hinzugefügt werden, da x11 vorhanden ist.

Antworten (6)

Mir ist das gleiche passiert, aber dann bin ich gerannt

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

und XQuartz installiert . 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 Sandboxing-Fehler in 10.9 und gibt unnötigen Text in STDOUT aus, also verwende ich eine Funktion wie ql() { qlmanage -p "$@"&>/dev/null; }in Shells.

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

Vielleicht bin ich heute langsam, aber ich habe gute 15 Minuten in der Gnuplot-Dokumentation verbracht, um nach einem einfachen Beispiel wie diesem zu suchen.
xQuartz ist schwer und irgendwie packt Homebrew es nicht. Ich habe mich stattdessen für die Option --qt entschieden bew install gnuplot --qtund es funktioniert jetzt gut.
Der Optionsname wurde geändert in, --with-x11aber ich kann keine Bearbeitung von nur zwei Zeichen vornehmen.
Beachten Sie, dass Sie sich nach der Installation von XQuartz manchmal abmelden und wieder anmelden müssen. (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
funktioniert nicht für OS X Yosemite
Nur damit es klar ist. Sie brauchen das Flag --with-x11 nicht, wenn Sie in ein PNG ausgeben möchten (oder zumindest habe ich es nicht getan).
funktioniert nicht unter OS X El Capitan
Anstatt Tausende von Benutzern eine halb kaputte Version von gnuplot installieren zu lassen, mit vielen Abhängigkeiten, aber vielen fehlenden Terminals, warum sind keine Binärdateien verfügbar?

In OS X Yosemite 10.10.2 und El Capitan 10.11.2 wird Gnuplot nicht mit XQuartz gepackt. Antworten Sie in bibsthas Kommentar. Ein 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.

Nur als Randnotiz,Warning: gnuplot: --qt was deprecated; using --with-qt instead!
@vitaly Interessant. Ich habe diese Warnung nicht erhalten oder ignoriert. Ich habe den Befehl geändert.
--qt muss irgendwann gültig gewesen sein und wurde dann als veraltet markiert
Warum nicht beides wählen: brew install gnuplot --with-qt --with-x11.
Wegen des Fehlers mit X11 in Yosemite. Yosemite wird derzeit nicht verwendet, kann also nicht mit dem neuesten Update getestet werden.

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

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

Wenn Sie Macports verwendet haben, um es ursprünglich zu installieren, würde ich homebrewstattdessen empfehlen, Folgendes zu verwenden:

brew install gnuplot

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

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

Prüfen Sie dann, ob eine Datei mit dem Namen testimage.pngIhren Plot enthält. Sie können auch versuchen, das Terminal anzugeben mit:

set terminal x11
Ja, Sie haben Recht und das letzte > ist nicht Teil meines Befehls. Außerdem laufe ich sowohl von einem Terminal-Fenster als auch von einem X11-Fenster getrennt, aber keines von ihnen konnte plotten.
Dann würde ich es mit einer Neuinstallation versuchen brew. Es ist schwer zu diagnostizieren, ohne mehr über Ihre Installation zu wissen.
(Aktualisierte Antwort mit einer anderen Sache zum Testen ...)
Warum macht das Ersetzen von Macports durch Brew einen Unterschied, dass beide funktionieren - beide viel besser als es alleine zu tun
Meiner Erfahrung nach habe ich Probleme mit Bibliotheken und Abhängigkeiten, wenn ich Macports verwende, also habe ich damit aufgehört ...

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 bei mir funktioniert hat.

Gehen Sie zum 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 laufen

./configure
make
sudo make install

funktionierte perfekt für mich, 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'.

Wie Sie X11 /opt installiert haben, ist meiner Meinung nach nicht üblich

Danke. Nach dem Herunterladen von gunplot 5.0 und der Installation unter Yosemite 10.10.2 konnte gnuplot das x11-Terminal nicht "laden". Nachdem die Konfigurationsdatei auf /opt/X11/include (Neukonfiguration, Neugestaltung und Neuinstallation) verwiesen wurde, funktionierte alles einwandfrei. (Ich war auch überrascht, dass X11 in /opt/X11 ist.)

Warum nicht ein Quarz-Backend anstelle von X11 verwenden

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

$ gnuplot <<<'show terminal'

   terminal type is qt 0 font "Sans,9"

An diesem Punkt wissen wir jetzt, dass wir den qtTerminaltyp verwenden. Mit dünnen Informationen, die Sie jetzt in der Hand haben, können Sie entscheiden, welche Vorgehensweise Sie ergreifen möchten, indem Sie entweder einer der anderen Antworten folgen, um GNUPlot über neu zu installieren, brewoder Ihr vorhandenes Terminal über die set terminal ..... Befehl.