Não consigo plotar com o gnuplot no meu Mac


47

Estou tentando plotar com o gnuplot no meu Mac (OS X 10.8.5). Instalei o X11 e o XQuartz 2.7.4 e depois instalei o gnuplot, mas infelizmente o gnuplot não conseguiu plotar.

Gráficos simples como o seguinte não são renderizados e não têm mensagem de erro para ajudar a entender o que está errado:

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

2
Você pode dizer mais especificamente o que não está funcionando? Talvez os comandos que você está usando, mensagens de erro e resultados?
Scot

1
quando eu quero plotar sin (x) no gnuplot, ele não pode plotar e vai para a próxima linha sem nenhum erro. $ gnuplot> plot sin (x)>
Soheil

Edite os detalhes pertinentes no corpo da pergunta. Os comentários são limpos de tempos em tempos e odiaríamos perder o problema quando isso acontecer aqui.
Bmike

1
Como exatamente você o instalou?
user151019

O xterm fornece um xterminal?
user151019

Respostas:


49

O mesmo aconteceu comigo, mas depois corri

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

e instalou o XQuartz . Agora gnuplotsuporta o x11terminal:

Você também pode salvar a saída em um arquivo e usar qlmanage -p:

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

qlmanage -pmostra um erro de sandboxing na versão 10.9 e imprime algum texto desnecessário em STDOUT, então eu uso uma função como ql() { qlmanage -p "$@"&>/dev/null; }em conchas.

Uma terceira opção é usar set term dumbpara saída de texto sem formatação.


1
Talvez eu esteja devagar hoje, mas passei uns bons 15 minutos nos documentos do gnuplot procurando um exemplo simples como este .. ou talvez os documentos façam algumas suposições sobre o público e eu não sou um deles :)
Jared Beck

5
O xQuartz é pesado e, de alguma forma, o homebrew não o empacota. Eu fui com a opção --qt bew install gnuplot --qte agora funciona bem agora.
bibstha

3
O nome da opção foi alterado para --with-x11mas não consigo editar apenas dois caracteres.
mgd

1
Observe que, às vezes, você precisa sair e fazer login novamente após instalar o XQuartz. (não sei por que, mas não definir a variável $ DISPLAY corretamente até que eu desconectado) Também, muito útil para instalar XQuartz é caskroom.io : brew cask install xquartz
caesarsol

não funciona para OS X Yosemite
Mateusz Piotrowski

24

No OS X Yosemite 10.10.2 e El Capitan 10.11.2, o Gnuplot não empacota com o XQuartz. Responda no comentário de bibstha . O gerenciador de janelas muito mais robusto está no qt e funciona

 brew uninstall gnuplot
 brew install gnuplot --with-qt

Observe que o uso --qtestá obsoleto agora.


Apenas como uma nota lateral, #Warning: gnuplot: --qt was deprecated; using --with-qt instead!
vitaly 26/02

@vitaly Interessante. Não recebi esse aviso ou ignorei. Eu mudei o comando.
Léo Léopold Hertz · 26/02

--qt deve ter sido válida em algum momento e, em seguida, foi preterido
vitaly

1
Por que não escolher ambos: brew install gnuplot --with-qt --with-x11.
Kenorb 6/12/15

Por causa do bug com o X11 em Yosemite. Como não está usando o Yosemite no momento, não é possível testar com a atualização mais recente.
Léo Léopold Hertz,

4

Você está executando isso em uma janela do Terminal ou em uma janela do X11? O terminal iniciará o X11 separadamente para mostrar o gráfico, portanto, pode não ser imediato (ou visível). O X11 é iniciado quando você digita seu plotcomando?

Se você tentar em uma janela X11, o resultado deverá ser mais imediato.

Além disso, se você usou o macports para instalá-lo originalmente, eu recomendaria o uso homebrew:

brew install gnuplot

EDIT : Para verificar para onde está indo a saída, você pode direcionar seus resultados para um arquivo:

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

Depois, veja se um arquivo chamado testimage.pngcontém sua plotagem. Você também pode tentar especificar o terminal com:

set terminal x11

Sim, você está certo e o último> não faz parte do meu comando. Além disso, estou executando a partir da janela do Terminal e da janela X11 separadamente, mas nenhuma delas conseguiu plotar.
Soheil

Então eu tentaria reinstalar com brew. É difícil diagnosticar sem saber mais sobre sua instalação.
Beroe

(Resposta Atualizado com outra coisa para teste ...)
Beroe

Por que o MacPorts substituindo por marca bebida uma diferença ambos trabalham - ambos muito melhor do que não fazer em seu próprio país
user151019

Na minha experiência que tenho problemas com bibliotecas e dependências quando eu uso MacPorts, por isso pararam de fazê-lo ...
Beroe

1

Em Yosemite, inicialmente eu tinha o quartzo e o gunplot 5.0.0 instalados. No entanto, não consegui carregar minha janela x11 (todo o resto era arquivo-X11 era desconhecido). Aqui está uma solução alternativa que 'funcionou para mim'.

Vá para a pasta de origem gunplot

make clean; 
make uninstall

depois no arquivo "configure" sob as seguintes linhas

# 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

agora corra

./configure
make
sudo make install

funcionou perfeitamente para mim, como você vê abaixo

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


Como você instalar o X11 / opt não é usual eu acho
user151019

0

Obrigado. Após o download do gunplot 5.0 e a instalação no Yosemite 10.10.2, o gnuplot não pôde "carregar" o terminal x11. Depois de apontar o arquivo de configuração para / opt / X11 / include (reconfigurar, refazer e reinstalar), tudo funcionou bem. (Também fiquei surpreso que o X11 esteja em / opt / X11.)


Por que não usar um backend de quartzo em vez de X11
user151019

0

A maioria dos conselhos aqui mostra como instalar / reinstalar o GNUPlot via brew. Se você possui uma instalação do GNUPlot e não tem certeza de qual terminal está usando, você pode determinar o seguinte:

$ gnuplot <<<'show terminal'

   terminal type is qt 0 font "Sans,9"

Nesse ponto, agora sabemos que estamos usando o qttipo de terminal. Agora, com poucas informações em mãos, você pode decidir qual curso de ação seguir, seguindo uma das outras respostas para reinstalar o GNUPlot via brewou configurar seu terminal existente da maneira que desejar set terminal ..... comando.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.