Окно графика не отвечает

Я использую 64-разрядную версию Windows 7. Каждый раз, когда я использую функцию графика, окна графика показывают и рисуют успешно, но после этого он перестает отвечать и должен отключить его.

Например:

x = linspace(0,1,10)
y = x.^2
plot(x,y);

Странно, когда окна затвора замораживаются, и я должен закрыть октавные окна, они тоже будут не отвечать на запросы. Этого не произойдет, если я не использую функцию графика.

Я не знаю почему. Это потому, что я использую 64-битную версию? Скажите, пожалуйста, как это исправить.

Ответ 1

О. Мой друг показывает мне эту команду, и она отлично работает:

pkg rebuild -noauto oct2mat

Команда переустанавливает пакет, но отмечает, что он не загружается по умолчанию при запуске. Это поведение теперь изменилось, и новые выпуски пакетов Forge НЕ загружаются по умолчанию.

Проблема в том, что пакет oct2mat никогда не должен загружаться. Он затеняет несколько функций ядра Octave, поэтому он начинает действовать странно. Если вам действительно не нужен этот пакет, вам лучше просто его удалить.

Цель oct2mat состоит в том, чтобы компенсировать отсутствие недостающих функций в Matlab и сделать код, написанный для Octave, запущенным в Matlab. Если вам не нужен oct2mat, удалите его. Никто не требует установки всех пакетов, и на самом деле сделает вашу установку Octave хуже, например, в случае oct2mat.

Ответ 2

Проблема, скорее всего, будет графическим инструментом, который использует ваша установка Octave.

Чтобы проверить это, введите graphics_toolkit в командной строке Octave.

Если ответ fltk, и окно графика замерзает, переключить набор инструментов по умолчанию в gnuplot: graphics_toolkit('gnuplot')

Проверьте, что проблема исправлена: x=1:10; y=x.^2; plot(x,y)

Сделайте изменение постоянным в файле octave.rc, расположенном в каталоге установки Octave:

    On Windows:  \Octave\share\octave\site\m\startup\octaverc
    On Linux:     ~/.octaverc


Все еще не работает?
  • Если ответ qt, попробуйте либо fltk, либо gnuplot (один может быть быстрее другого).

  • Если вышеуказанное не работает, вам может потребоваться установить/переустановить gnuplot. (спасибо lukas и saurabh для этого случая края).

Ответ 3

Как писал Асад Эбрахим, проблема связана с инструментарием. У меня возникла еще одна проблема в версии 3.8.2. что gnuplot вообще не работает. Окна окон не показывались, и мне нужно было закрыть Octave. Если у кого-то такая же проблема, решение - загрузить gnuplot и установить его в папку Octave. Он заменяет старый gnuplot, и новый работает.

И я благодарю вас за совет.

Ответ 4

Ответ, данный Асадом, абсолютно прав, и я тоже хорошо работал.

Это просто случай исключения.

После ввода командной строки Octave: graphics_toolkit

Если ответ qt вместо fltk, то, вероятно, ваш компьютер должен быть установлен gnuplot отдельно от SourceForge, так как Octave получает некоторые ошибки при установке себя в W8/10.

Вот ссылка. https://sourceforge.net/projects/gnuplot/?source=directory

Вам не нужно изменять какие-либо установочные файлы.

Это должно работать

Ответ 5

Итак, на окнах это сработало для меня:

Шаг 1: Установите gnuplot на C:\Program Files (x86)\gnuplot:

Ссылка для скачивания:

https://sourceforge.net/projects/gnuplot/

Шаг 2: Перейти к приведенному каталогу (учитывая, что вы установили Octave в C:\root):

C:\октава\доля\октава\сайт\м\запуск

открыть octaverc файл, присутствующий в этом каталоге в Блокноте.

Шаг 3:

Добавьте следующие строки в конец файла.

gnuplot_binary 'C:\Program Files (x86)\gnuplot\bin\gnuplot.exe'
graphics_toolkit('gnuplot')

Шаг 4:

Сохраните файл и выйдите из Блокнота. Если Octave открыт, закройте его.

Шаг 5:

Откройте Octave и введите следующую команду для проверки:

plot([1,2,3],[4,5,6]);

Обратите внимание, что в первый раз может потребоваться gnuplot до 5 минут для отображения графика. Поэтому, пожалуйста, не пытайтесь закрыть приложение. последующее простые сюжеты отображаются довольно быстро, обычно менее 1 секунды.

Ответ 6

Когда я впервые проверил построение графа примера, появилось окно графика, но не откликалось на одну-две минуты, затем появился график. Дальнейшие сюжеты появились мгновенно. O.S.: Windows 7 64 бит Octave 4.0.3 64 бит.

Ответ 7

У меня есть аналогичные симптомы, использующие октаву 4.2 при запуске вашего кода (не удается закрыть окна графика, график требует времени). Когда инструкции не заканчиваются точкой с запятой (;), команда и результат будут напечатаны в окне команд. Мне кажется, что командное окно останавливает интерпретацию кода и ждет, пока пользователь нажмет действительный ключ (f, b, q), чтобы оговорить или прервать выполнение. Точка остановки зависит от ранее выполненного кода и размера командного окна, поэтому прерывистый характер этих симптомов.

Решение:

Вариант 1: перейдите в окно команд и продолжайте нажимать f (вперед)

Вариант 2: использовать точку с запятой для завершения операторов

x = linspace(0,1,10);
y = x.^2;
plot(x,y);

Вариант 3: Скрипт с некоторыми настройками окна команд

Надеюсь, что это поможет

Ответ 8

У меня была та же проблема в версии 4.0.3 и переключение набора инструментов по умолчанию в gnuplot, поскольку Асад Эбрахим сказал, что не работает для меня. Затем я нахожу что-то в Octave для Microsoft Windows:

Текущая октава для окон передает не полный признак gnuplot. Поэтому вы не можете использовать полные возможности графического инструментария gnuplot

И есть инструкция по загрузке и установке gnuplot. Надеюсь, это вам полезно.