문제

이것은 나의 첫 번째 게시물이며 나는 C ++에 대한 초보자이며 일반적으로 컴파일합니다.

나는 일부 그래프를 그려야하는 프로그램을 컴파일하고 있습니다. 프로그램은 a를 만듭니다 .DAT 파일을 한 다음 gnuplot을 열고 plot을 작성해야합니다. '.dat '. 괜찮아.

gnuplot을 자동으로 열고 필요한 음모를 보여줄 수있는 방법이 있습니까? 코드에서 일부 System () 함수를 사용하여 GnuPlot을 호출해야하지만 어떻게 필요한 것을 플롯 할 수 있습니까?

필수적인 영어에 대해 죄송합니다 : s

어쨌든 관심을 기울여 주셔서 감사합니다!

도움이 되었습니까?

해결책

OS에 따라 사용할 수 있습니다. Popen (). 이렇게하면 GnuPlot 프로세스를 생성하고 다른 파일처럼 쓸 수 있습니다.

플롯 할 데이터 포인트가 있다면, 당신은 그것들을 구성 "-" ... 옵션. 마찬가지로, 당신은 탐색하고 싶을 수도 있습니다 데이터 스타일 포인트/라인/라인 포인트 설정/등 설정 옵션.


일시 정지 또는 지속없이 Gnuplot은 입력 종료시 종료됩니다. 예에서는 파일의 끝에 도달 할 때입니다.


출력 파일 (그래프)을 생성하려면 다음을 사용합니다.

set terminal png small
set output "filename.png"

많은 옵션이 있습니다 터미널을 설정하십시오. PNG는 보통 거기에 있습니다. 그렇지 않다면 아마도 GIF, TIFF 또는 JPEG?

파일을 덮어 쓰는 것을 조심하십시오!

사용하고 싶을 수도 있습니다 세트 크기 2,2 더 큰 그래프를 만들려면. 약간 터미널을 설정하십시오 변형을 사용하면 크기를 지정할 수 있습니다.

다른 팁

나도 오늘도 이것을 배우고 있습니다. 여기 내가 요리 한 작은 예입니다.

#include <iostream>
#include <fstream> 
using namespace std;
int main(int argc, char **argv) {
    ofstream file("data.dat");
    file << "#x y" << endl;
    for(int i=0; i<10; i++){
        file << i << ' ' << i*i << endl;
    }
    file.close();
    return 0;
}

cpp로 저장하고 g ++로 컴파일하십시오.

g++ plot.cpp -o plot

.dat 파일을 만들려면 프로그램을 실행하십시오.

./plot

다음 gnuplot 스크립트를 plot.plt로 저장하십시오.

set terminal svg enhanced size 1000 1000 fname "Times" fsize 36
set output "plot.svg"
set title "A simple plot of x^2 vs. x"
set xlabel "x"
set ylabel "y"
plot "./data.dat" using 1:2 title ""

.svg 파일을 생성하려면 gnuplot으로 스크립트를 실행하십시오.

gnuplot plot.plt

결과 플롯은 plot.svg입니다. 출력을 지정하는 첫 커플 라인을 제거하면 창에 렌더링됩니다. 재미있게 보내세요!

때로는 생각만큼 쉽습니다

    gnuplot file

파일이 데이터 나 결과 파일이 아니라 명령을 입력 할 수있는 파일이있는 경우 명령 선에 입력합니다. 필요한 명령을 입력하기 만하면 (상수 파일 또는 생성). 해당 파일의 모든 명령을 실행 한 후 gnuplot 종료.

그래 넌 할수있어. 플롯을 설정하고 해당 파일에서 실행되는 GnuPlot을 열기 위해 입력 할 명령이있는 파일을 만들 수 있습니다. 이 링크 그것을하는 방법을 설명하는 기사가 있습니다. EPS 또는 기타 그래픽 출력 형식으로 출력하고 파일에서 읽는 다른 위젯을 사용하여 플롯을 표시 할 수도 있습니다.

'-persist'플래그를 명령에 사용해야 할 수도 있습니다. *NIX 시스템에서 GNUPLOT 프로세스가 완료되고 종료 된 후 플롯 창이 남아 있으면이 플래그가 필요하다는 것을 알고 있습니다.

gnuplot -persist commands.gp

또한 파일에서 원하는만큼 많은 gnuplot 명령을 넣을 수 있습니다. 파일은 이와 관련하여 배치 스크립트처럼 행동합니다.

선을 추가해야 할 수도 있습니다

pause -1

이것은 반환이 눌러질 때까지 줄거리를 보여줍니다.
아마도 당신이보고있는 것은 줄거리가 표시되기 전에 gnuplot가 달리고 종료한다는 것입니다.

터미널 유형을 설정해야 할 수도 있습니다. 그것에 대한 gnuplot 문서를 읽으십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top