Non riesco a stampare con gnuplot sul mio Mac


47

Sto cercando di tracciare con gnuplot sul mio Mac (OS X 10.8.5). Ho installato X11 e XQuartz 2.7.4 e successivamente ho installato gnuplot, ma sfortunatamente gnuplot non è stato in grado di tracciare.

Grafici semplici come i seguenti non riescono a essere visualizzati e non presentano alcun messaggio di errore per aiutare a capire cosa non va:

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

2
Puoi dire più specificamente cosa non funziona? Forse i comandi che stai utilizzando, i messaggi di errore e i risultati?
Scot,

1
quando voglio tracciare sin (x) in gnuplot, non può tracciare e passa alla riga successiva senza errori. $ gnuplot> plot sin (x)>
Soheil,

Modifica i dettagli pertinenti nel corpo della domanda. Di tanto in tanto i commenti vengono cancellati e odieremmo perdere il problema quando ciò accade qui.
bmike

1
Come lo hai installato esattamente?
user151019

Xterm ti dà un xterminale?
user151019

Risposte:


49

La stessa cosa è successa a me, ma poi ho corso

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

e installato XQuartz . Ora gnuplotsupporta il x11terminale:

È inoltre possibile salvare l'output in un file e utilizzare qlmanage -p:

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

qlmanage -pmostra un errore sandboxing in 10.9 e stampa del testo non necessario su STDOUT, quindi uso una funzione come ql() { qlmanage -p "$@"&>/dev/null; }nelle shell.

Una terza opzione è utilizzare set term dumbper l'output di testo normale.


1
Forse sono lento oggi, ma ho trascorso ben 15 minuti nei documenti di gnuplot alla ricerca di un semplice esempio come questo .. o forse i documenti fanno alcune ipotesi sul pubblico e io non sono uno di loro :)
Jared Beck

5
xQuartz è pesante e in qualche modo homebrew non lo confeziona. Sono andato invece con l'opzione --qt bew install gnuplot --qte ora funziona bene.
bibstha,

3
Il nome dell'opzione è cambiato in --with-x11ma non riesco a modificare solo due caratteri.
mgd

1
Si noti che a volte è necessario disconnettersi e riconnettersi dopo l'installazione di XQuartz. (non so perché, ma non ha impostato correttamente la variabile $ DISPLAY fino a quando non mi sono disconnesso) Inoltre, molto utile per installare XQuartz è caskroom.io : brew cask install xquartz
caesarsol

non funziona con OS X Yosemite
Mateusz Piotrowski,

24

In OS X Yosemite 10.10.2 e El Capitan 10.11.2, Gnuplot non include pacchetti con XQuartz. Rispondi nel commento di bibstha . Window Manager molto più robusto è in qt e funziona

 brew uninstall gnuplot
 brew install gnuplot --with-qt

Si noti che l'utilizzo --qtè obsoleto ora.


Proprio come nota a Warning: gnuplot: --qt was deprecated; using --with-qt instead!
margine

@vitaly Interessante. Non ho ricevuto quell'avvertimento o l'ho ignorato. Ho cambiato il comando.
Léo Léopold Hertz

--qt deve essere stato valido ad un certo punto e poi è stato deprecato
vitale il

1
Perchè non scegliere entrambi: brew install gnuplot --with-qt --with-x11.
Kenorb,

A causa del bug con X11 in Yosemite. Al momento non si utilizza Yosemite, quindi non è possibile eseguire il test con l'ultimo aggiornamento.
Léo Léopold Hertz

4

Lo stai eseguendo da una finestra Terminale o da una finestra X11? Il terminale avvierà X11 separatamente per mostrare la trama, quindi potrebbe non essere immediato (o visibile). X11 viene avviato quando si digita il plotcomando?

Se lo provi in ​​una finestra X11, il risultato dovrebbe essere più immediato.

Inoltre, se hai utilizzato macports per installarlo in origine, ti consiglio di utilizzare homebrewinvece:

brew install gnuplot

EDIT : per verificare dove sta andando l'output, è possibile indirizzare i risultati a un file:

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

Quindi controlla se un file chiamato testimage.pngcontiene la tua trama. Puoi anche provare a specificare il terminale con:

set terminal x11

Sì, hai ragione e l'ultimo> non fa parte del mio comando. Inoltre, sto correndo da una finestra Terminale e X11 separatamente, ma nessuna di esse potrebbe tracciare.
Soheil,

Quindi proverei a reinstallare con brew. È difficile diagnosticare senza sapere di più sulla tua installazione.
beroe,

(Risposta aggiornata con un'altra cosa da testare ...)
beroe,

Perché la sostituzione dei macport con la birra fa la differenza, entrambi funzionano - entrambi molto meglio che fare da soli
user151019

Nella mia esperienza ho problemi con le librerie e le dipendenze quando uso i macport, quindi ho smesso di farlo ...
beroe

1

In Yosemite, inizialmente, avevo installato quarzo e cannone 5.0.0. Tuttavia, non sono riuscito a caricare la mia finestra x11 (tutto il resto era file-X11 era in qualche modo sconosciuto). Ecco una soluzione alternativa che "ha funzionato per me".

Vai alla cartella sorgente del gunplot

make clean; 
make uninstall

quindi nel file "configura" nelle seguenti righe

# 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

ora corri

./configure
make
sudo make install

ha funzionato perfettamente per me come vedi sotto

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

Tipo di terminale set to 'x11'.


Come hai fatto a installare X11 / opt non è normale penso
user151019

0

Grazie. Dopo aver scaricato Gunplot 5.0 e aver installato in Yosemite 10.10.2, gnuplot non è riuscito a "caricare" il terminale x11. Dopo aver puntato il file di configurazione su / opt / X11 / include (riconfigurazione, rifacimento e reinstallazione) tutto ha funzionato bene. (Sono stato anche sorpreso dal fatto che X11 sia in / opt / X11.)


Perché non usare un backend al quarzo anziché X11
user151019

0

La maggior parte dei consigli qui mostra come installare / reinstallare GNUPlot tramite brew. Se hai un'installazione di GNUPlot e non sei sicuro di quale terminale stia usando puoi determinarlo in questo modo:

$ gnuplot <<<'show terminal'

   terminal type is qt 0 font "Sans,9"

A quel punto ora sappiamo che stiamo usando il qttipo di terminale. Con le informazioni sottili ora disponibili, puoi decidere su quale azione intraprendere, seguendo una delle altre risposte per reinstallare GNUPlot brewo configurando il tuo terminale esistente nel modo che preferisci tramite set terminal ..... comando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.