2016-01-21 17 views
12

Ho un problema durante il plottaggio da Octave. Octave e Gnuplot sono installati con Homebrew su OS X El Capitan, e dopo aver tentato di fare prima trama, ho ottenuto l'errore:Blocco di ottava quando deve essere tracciato

set terminal aqua enhanced title "Figure 1" size 560 420 font "*,6" dashlength 1

Questo problema è stato risolto utilizzando istruzioni da this answer, insomma:

brew uninstall gnuplot 

sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.dylib 
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.1.0.0.dylib 
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/Headers /usr/local/include/aquaterm 

brew install gnuplot --with-aquaterm 

echo '

Ora, quando faccio la trama, ad es. plot(rand(3)), quindi Octave si blocca, quindi devo fare Control-C per interrompere. Quando provo a tracciare direttamente da Gnuplot e set term aqua, funziona e ottengo grafici. Ma in Octave, quando voglio set term aqua o set term, riporta:

error: invalid conversion from string to real N-d array error: set:

expecting graphics handle as first argument

Inoltre, ho provato con:

echo -E "setenv('GNUTERM','X11')" > ~/.octaverc 

ma che non ha aiutato neanche. Penso che il problema sia con graphics_toolkit, ma non so come risolvere questo problema.

octave:1> graphics_toolkit aqua 

error: graphics_toolkit: aqua toolkit is not available

error: called from graphics_toolkit at line 81 column 5

octave:2> graphics_toolkit fltk 

error: graphics_toolkit: fltk toolkit is not available

error: called from graphics_toolkit at line 81 column 5

Aggiornamento

soluzione accettata funziona fino fino alla versione 4.2.0-rc2, così ora controllare il update in the answer per ulteriori informazioni.

+0

Puoi controllare se AppNap si attiva per Octave e/o gnuplot? Apri ActivityMonitor e aggiungi la colonna AppNap – Andy

+0

Su @Andy, non è così. Resta "no" per l'ottava. Lo stesso vale per gnuplot. – miller

+1

@miller Puoi indicare quale versione di ottava stai usando ('$ octave --version' o' version() ')? Sarebbe utile per gli altri poiché ci sono alcuni problemi specifici della versione – JMM

risposta

13

ho notato quando entro comando available_graphics_toolkits mostra solo

ans =

{

[1,1] = gnuplot

}

e wheh provo con loaded_graphics_toolkits, stampa

ans = {}(1x0)

ho guesed problema era con non carica ambiente GUI, in modo da Octave era poi ricompilato con l'opzione --with-gui

brew reinstall octave --with-gui 

e questo ha risolto un problema.

Aggiornamento

Secondo questa commit, da settembre scorso, la versione 4.2.0-RC2, --with-gui non funziona più. Quindi il meglio per seguire le istruzioni da Konstantin.

7

La risposta accettata dal mugnaio non ha funzionato per me, anche se available_graphics_toolkits e loaded_graphics_toolkits hanno restituito risultati simili. Il pacchetto di ottava non sembra più avere un flag --with-gui.

Invece quello che ho dovuto fare per farlo funzionare è stato il primo brew reinstall gnuplot --with-x11 e quindi creare un ~/.octaverc con il contenuto

setenv("GNUTERM", "X11") 
graphics_toolkit("gnuplot") 

Ho dovuto X11 preinstallato.

+0

Questo è stato un buon suggerimento. Ho dovuto passare dal toolkit grafico 'qt' al 'gnuplot' e questo l'ha impedito di appenderlo. –

Problemi correlati