No puedo trazar con gnuplot en mi Mac

47

Estoy tratando de trazar con gnuplot en mi Mac (OS X 10.8.5). Instalé X11 y XQuartz 2.7.4 y luego instalé gnuplot, pero desafortunadamente gnuplot no pudo trazar.

Los gráficos simples como los siguientes no se procesan y no tienen ningún mensaje de error para ayudar a comprender lo que está mal:

 [1/10/13 $gnuplot >plot sin(x)
Soheil
fuente
2
¿Puedes decir más específicamente lo que no funciona? ¿Quizás los comandos que está utilizando, los mensajes de error y los resultados?
Scot
1
cuando quiero trazar sin (x) en gnuplot, no puede trazar y pasa a la siguiente línea sin ningún error. $ gnuplot> plot sin (x)>
Soheil
Edite los detalles pertinentes en el cuerpo de la pregunta. Los comentarios se borran de vez en cuando y odiaríamos perder el problema cuando eso suceda aquí.
bmike
1
¿Cómo lo instaló exactamente?
user151019
¿Xterm te da un xterminal?
user151019

Respuestas:

49

Me pasó lo mismo, pero luego corrí

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

e instaló XQuartz . Ahora es gnuplotcompatible con la x11terminal:

También puede guardar la salida en un archivo y usar qlmanage -p:

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

qlmanage -pmuestra un error de sandboxing en 10.9 e imprime texto innecesario en STDOUT, por lo que utilizo una función como ql() { qlmanage -p "$@"&>/dev/null; }en shells.

Una tercera opción es usar set term dumbpara la salida de texto sin formato.

Lri
fuente
1
Tal vez estoy lento hoy, pero pasé unos buenos 15 minutos en los documentos de gnuplot buscando un ejemplo simple como este ... o tal vez los documentos hacen algunas suposiciones sobre la audiencia y no soy uno de ellos :)
Jared Beck
55
xQuartz es pesado y de alguna manera homebrew no lo empaqueta. En su lugar, elegí la opción --qt bew install gnuplot --qty ahora funciona bien.
bibstha
3
El nombre de la opción ha cambiado a --with-x11pero no puedo hacer una edición de solo dos caracteres.
mgd
1
Tenga en cuenta que a veces necesita cerrar sesión y volver a iniciarla después de instalar XQuartz. (no sé por qué, pero no configuró la variable $ DISPLAY correctamente hasta que me desconecté) Además, muy útil para instalar XQuartz es caskroom.io : brew cask install xquartz
caesarsol
no funciona para OS X Yosemite
Mateusz Piotrowski
24

En OS X Yosemite 10.10.2 y El Capitan 10.11.2, el Gnuplot no se empaqueta con XQuartz. Responde en el comentario de bibstha . Un administrador de ventanas mucho más robusto está en qt y funciona

 brew uninstall gnuplot
 brew install gnuplot --with-qt

Tenga en cuenta que el uso --qtestá en desuso ahora.

Masi
fuente
Solo como una nota al margen,Warning: gnuplot: --qt was deprecated; using --with-qt instead!
vitally
@vitaly Interesante. No recibí esa advertencia o lo ignoré. Cambié el comando.
Léo Léopold Hertz 준영
--qt debe haber sido válido en algún momento y luego fue desaprobado
vitalmente
1
¿Por qué no elegir ambos brew install gnuplot --with-qt --with-x11?
kenorb
Debido al error que tiene X11 en Yosemite. Por el momento no estoy usando Yosemite, así que no puedo probar con la última actualización.
Léo Léopold Hertz 준영
4

¿Está ejecutando esto desde una ventana de Terminal o una ventana X11? El terminal lanzará X11 por separado para mostrar la trama, por lo que puede no ser inmediato (o visible). ¿X11 se inicia cuando escribes tu plotcomando?

Si lo prueba en una ventana X11, el resultado debería ser más inmediato.

Además, si usó macports para instalarlo originalmente, recomendaría usar en su homebrewlugar:

brew install gnuplot

EDITAR : Para verificar a dónde va la salida, puede dirigir sus resultados a un archivo:

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

Luego vea si un archivo llamado testimage.pngcontiene su trama. También puede intentar especificar el terminal con:

set terminal x11
beroe
fuente
Sí, tienes razón y el último> no es parte de mi comando. Además, estoy ejecutando desde una ventana de Terminal y una ventana X11 por separado, pero ninguna de ellas podría trazar.
Soheil
Entonces intentaría reinstalar con brew. Es difícil de diagnosticar sin saber más sobre su instalación.
Beroe
(Respuesta actualizada con otra cosa para probar ...)
beroe
¿Por qué reemplazar macports por brew hace la diferencia? Ambos funcionan, ambos mucho mejor que hacerlo por su cuenta
User151019
En mi experiencia que tengo problemas con las bibliotecas y dependencias cuando uso macports, por lo que han dejado de hacerlo ...
Beroe
1

En Yosemite, inicialmente, tenía instalado cuarzo y gunplot 5.0.0. Sin embargo, no pude cargar mi ventana x11 (todo lo demás era file-X11 era de alguna manera desconocido). Aquí hay una solución que "funcionó para mí".

Ir a la carpeta fuente de gunplot

make clean; 
make uninstall

luego en el archivo "configurar" bajo las siguientes líneas

# 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

ahora corre

./configure
make
sudo make install

funcionó perfectamente para mí como ves a continuación

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 de terminal set to 'x11'.

Praveen CS
fuente
¿Cómo instaló X11 / opt? No es habitual, creo
user151019
0

Gracias. Después de descargar gunplot 5.0 e instalar bajo Yosemite 10.10.2, gnuplot no pudo "cargar" el terminal x11. Después de señalar el archivo de configuración a / opt / X11 / include (reconfigurar, rehacer y reinstalar) todo funcionó bien. (También me sorprendió que X11 esté en / opt / X11).

Kent Milfeld
fuente
¿Por qué no utilizar un backend de cuarzo en lugar de X11
User151019
0

La mayoría de los consejos aquí muestran cómo instalar / reinstalar GNUPlot a través de brew. Si tiene una instalación de GNUPlot y no está seguro de qué terminal está utilizando, puede determinar esto de la siguiente manera:

$ gnuplot <<<'show terminal'

   terminal type is qt 0 font "Sans,9"

En ese momento sabemos que estamos usando el qttipo de terminal. Con poca información disponible, puede decidir qué curso de acción tomar, ya sea siguiendo una de las otras respuestas para volver a instalar GNUPlot brewo configurando su terminal existente de la forma que desee a través de set terminal ..... mando.

slm
fuente