Program Tip

플롯 창이 응답하지 않음

programtip 2020. 10. 31. 10:01
반응형

플롯 창이 응답하지 않음


Windows 7 64 비트를 사용하고 있습니다. 매번 플롯 기능을 사용할 때 플롯 창이 성공적으로 표시되고 그려 지지만 그 후에는 응답을 중지하고 종료해야합니다.

예 :

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

이상하게도, 플롯 창이 동결되고 옥타브 창을 닫아야 할 때도 응답하지 않습니다. 플롯 기능을 사용하지 않으면 이런 일이 발생하지 않습니다.

이유를 모르겠습니다. 64 비트 버전을 사용하고 있기 때문인가요? 이 문제를 해결하는 방법을 알려주세요.


문제는 Octave 설치에서 사용하는 그래픽 툴킷 일 가능성이 높습니다.

이를 확인하려면 graphics_toolkitOctave 명령 줄을 입력하십시오.

응답이 fltk이고 플롯 창이 멈춘 경우 기본 툴킷을 gnuplot으로 전환합니다 .graphics_toolkit('gnuplot')

문제가 해결되었는지 테스트합니다. x=1:10; y=x.^2; plot(x,y)

Octave 설치 디렉토리에있는 octave.rc 파일에서 영구적으로 변경하십시오.

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


그래도 작동이 안되는?

  • 응답이 qt인 경우 fltk또는 gnuplot(하나가 다른 것보다 빠를 수 있음) 중 하나를 시도 하십시오.

  • 위의 방법이 작동하지 않으면 gnuplot설치 / 다시 설치 해야 할 수 있습니다 . (이 엣지 케이스에 대해 lukas와 saurabh에게 감사드립니다).


Assad Ebrahim이 쓴 것처럼 문제는 툴킷에 있습니다. 버전 3.8.2에서 또 다른 문제가 발생했습니다. gnuplot이 전혀 작동하지 않았다는 것을 알았습니다. 플롯 창이 표시되지 않았고 Octave를 닫아야했습니다. 누군가 같은 문제가있는 경우 해결책은 gnuplot을 다운로드하여 Octave 폴더에 설치하는 것입니다. 이전 gnuplot을 대체하고 새 gnuplot이 작동합니다.

그리고 조언을 해주셔서 감사합니다.


오. 내 친구가이 명령을 보여 주면 잘 작동합니다.

pkg rebuild -noauto oct2mat

이 명령은 패키지를 다시 설치하지만 시작시 기본적으로로드되지 않도록 표시합니다. 이 동작은 이제 변경되었으며 Forge 패키지의 새 릴리스는 기본적으로로드되지 않습니다.

문제는 oct2mat 패키지를로드해서는 안된다는 것입니다. Octave 코어의 여러 기능에 그림자를 드리워 서 이상하게 행동하기 시작합니다. 이 패키지가 정말로 필요한 경우가 아니라면 제거하는 것이 좋습니다.

oct2mat의 목적은 Matlab에서 누락 된 기능의 부족을 보완하고 Octave 용으로 작성된 코드를 Matlab에서 실행하도록 만드는 것입니다. oct2mat가 필요하지 않으면 제거하십시오. 아무도 모든 패키지를 설치할 필요가 없으며 실제로 oct2mat의 경우와 같이 Octave 설치를 악화시킬 수 있습니다 .


그래서 창문에서 이것은 나를 위해 일했습니다.

1 단계 : gnuplot을 C:\Program Files (x86)\gnuplot다음에 설치합니다 .

다운로드 링크:

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

2 단계 : 주어진 디렉토리 아래로 이동합니다 (C : \ 루트에 Octave를 설치 한 것으로 간주).

C : \ Octave \ share \ octave \ site \ m \ startup

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 초 미만으로 매우 빠르게 렌더링됩니다.


Assad의 답변 은 절대적으로 옳고 저에게도 잘 맞았습니다.

이것은 단지 예외적 인 경우입니다.

Octave 명령 줄에 입력 한 후 : graphics_toolkit

대답이 qt대신 fltk이면 Octave가 W8 / 10에 자체 설치하는 동안 오류가 발생하므로 SourceForge와 별도로 gnuplot 을 PC에 설치해야합니다 .

여기에 링크가 첨부되어 있습니다. https://sourceforge.net/projects/gnuplot/?source=directory

설치 파일을 변경할 필요가 없습니다.

이것은 작동합니다


예제 그래프 플로팅을 처음 테스트했을 때 그래프 창이 나타 났지만 1 ~ 2 분 동안 응답하지 않고 플롯이 나타납니다. 더 많은 플롯이 즉시 나타났습니다. OS : Windows 7 64 비트 Octave 4.0.3 64 비트.


I have similar symptoms using octave 4.2 when running your code (Cannot close plot windows, plot takes time to appear). When statements don't end with semicolon (;) the command and result will be printed in command window. It SEEMS to me that the command window halts interpretation of code and wait for user to press a valid key (f,b,q) to contunure or abort execution. The halt point is dependent on previously executed code and size of command window, therefore the intermittent nature of these symptoms.

Solution:

Option 1: Go to command window and keep pressing f (forward)

Option 2: Use semicolon to terminate statements

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

Option 3: Fiddle with some command window settings

Hope it helps


I had the same problem in version 4.0.3 and switching the default toolkit to gnuplot as Assad Ebrahim said did not work for me. Then I find something in Octave for Microsoft Windows:

Current octave for windows ships a not full featured gnuplot. Therefore you cannot use the full features of gnuplot graphics toolkit

And there is instruction of how to download and install gnuplot. Hope it is helpful to you.


The following is solution for plot window freezing when running Octave from within Emacs, credited to John Lawrence Aspden and user2699 from the question How to get Octave's plot to work under emacs?. It's brought here because this question is much easier to find.

The problem might be caused by Emacs octave-mode's --no-line-editing switch, you can fix it by M-x customize-variable RET inferior-octave-startup-args RET and change --no-line-editing to --line-editing.

참고URL : https://stackoverflow.com/questions/12032494/plot-window-not-responding

반응형