[질문]gnuplot 써 보신분 계십니까???
글쓴이: sDH8988L / 작성시간: 월, 2004/03/08 - 7:37오전
요즘에 논문을 하나 쓰고 있는데요... Graph를 gnuplot으로 그리려고 합니다...
그런데, 한가지 문제가 있네요...
Data를 Graph에 표시를 하고 'linespoints' option을 주면, Line이 생기고
해당 Data의 자리에 어떤 표시가 생기지 않습니까?
그런데, 이 Data들을 연결하는 선들이 직선입니다...별로 보기가 좋지 않죠...
그래서 전체 Graph의 모양을 근거로 각 Data 사이 구간이 곡선으로 처리되었
으면 좋겠는데요... 어떻게 해야 될까요???
GNUplot Manual에도 그런 내용은 나오지 않는 거 같은데요...
예전에 Excel을 사용할 때는 쉽게 구현할 수 있는 기능이었습니다...
gnuplot에도 없을 리는 없을 건데요... 찾지 못하겠습니다...
물론, plot할 때, smooth option이 있기는 하지만, 이것은 그냥 smooth일
뿐이라서 Data가 있는 곳을 지나지 않을 수도 있거든요...
그래서 smooth option은 사용할 수 없습니다...
지금까지 우리나라, 외국의 gnuplot manual들을 많이 읽어봤지만, Data간의
구간은 무조건 다 직선이네요...
Data 사이를 곡선처리하는 경우가 그렇게 없습니까??? 제 생각에는 그렇게
하는 것이 휠씬 자연스러울거 같은데...
아시는 분 계시면 해결책을 부탁 드리겠습니다...
그럼 20000
File attachments:
첨부 | 파일 크기 |
---|---|
D-T-8.gif | 101.29 KB |
Forums:
그냥 origin 쓰세요.
gnuplot에 그런 기능이 없다면 origin쓰시는게 좋을 듯 싶네요.
데이타간의 연결선이 곡선으로 이어지에 하려면 엑셀을 사용하면 그값위나 아래로 곡선이 지나가는 경우가 생기는데 제가 알기로는 origin은 괜찮을 걸로 압니다.
혹시 엑셀의 추세선을 말씀하시는 것이라면.. 제가 gnuplot에서 사용
혹시 엑셀의 추세선을 말씀하시는 것이라면.. 제가 gnuplot에서 사용하는 방법은
-fit 명령으로 데이터에 기반한 곡선 만듭니다.
-데이터가 찍힌 그래프 위에 곡선을 더합니다.
그 외의 방법이라면 저도 잘.. :-)
흠... 오리진은 저도 생각을 해봤는데요...환경상 LINUX아
흠... 오리진은 저도 생각을 해봤는데요...
환경상 LINUX아 UNIX Tool이 아니면 쓸 수가 없습니다...
그래서 gnuplot을 쓰려고 하는 것이지요...
fit와는 다른 것입니다...
일단, Data를 연결하는 전체 선은 완만한 곡선이되, Data Point를 전부 지나야 하거든요... 추세선과는 다르죠...
Excel의 경우에는 선 모양을 직선이 아닌 곡선으로 지정해 두면, Data를 모두 지나는 곡선이 만들어 집니다...
아무리 찾아봐도 gnuplot에서는 못찾겠네요...
[quote="sDH8988L"]흠... 오리진은 저도 생각을 해봤는데요
spline 곡선을 찾으시는 것은 아닙니까.?
War doesnt determine whos right, just whos left.
plot data-file smooth csplines
data point 들을 smooth 하게 연결하는 것이라면
다음과 같이 smooth 를 사용하면 됩니다.
물론 data 전체에 대한 smoothing 도 가능합니다.
보이는 것이 항상 진실일까요????
Re: plot data-file smooth csplines
smooth option으로는 Data Point를 지나지 않을 수도 있더군요...
smooth에서 사용할 수 있는 Option을 다 써봤는데, Data Point를
정확히 지나면서, Data Point 사이 구간이 곡선이 되는 결과는 못봤습니다...
결국 smooth로는 안되더군요...
cspline option 은 반드시 data point를 지나갑니다.
어떤 경우가 발생하였는지 자세히는 모르겠습니다만,
csplines options 은 interpolation option 입니다.
현재의 data point 를 knot point 로 하여 두 점을 cubic spline 으로
연결하기 때문에 꼭 원래의 점을 지나가게 되어 있습니다.
다음과 같이 하여 확인해 볼 수 도 있습니다.
를 하신다음 output file을 보면 cspline 을 그리게 되는 포인트를
볼 수 있습니다.
원하는 결과를 얻으시기를 바랍니다 :D
보이는 것이 항상 진실일까요????
흠... smooth가 Data Point를 지나는 것은 맞네요...
흠... smooth가 Data Point를 지나는 것은 맞네요...
제가 잘못봤습니다...
(정확하게 말하자면, range를 작게 주었고 아래에 기술하는 문제 때문에 smooth가 Data point를 지나지 않는 것처럼 보였네요...)
그런데, 한가지 문제가 더 있네요...
smooth csplines Option을 주고 plot을 했는데요...
위에 기술한 것과 같이 Data Point는 잘 지나고 있습니다...
그!런!데!... 두 Data Point 사이에서 선이 요동을 칩니다... -____-
제 Graph의 특성상 직선과 별로 다를 바가 없는 완만한 곡선이 이루어져야 하는데, 아주 요동을 치는 군요... -____-
아래 그림을 첨부했습니다...
아! 그리고 또 중요한 문제가 있는데, 아래 그림을 보시면 아시겠지만, smooth option을 줬을 때, Data를 지나는 순서가
맞지 않습니다...
원래 Data의 순서는 점선과 같이 이동을 해야 하는데, smooth option을 준 선은 그 순서를 지키지 않고 있습니다...
이거 참... 한가지 문제가 풀리니까 다른 문제가 생기네요...
Cubic spline은 x axis data를 monoton 하게 다시
Cubic spline은 x axis data를 monoton 하게 다시 정렬하여 사용합니다.
첨부하신 그림과 같이 data의 순서를 유지하면서 부드럽게 연결을 하시려면 (monoton 하지않은...) cubic spline으로는 불가능합니다.
다른 방법을 사용하여 가능한 데 지금 언뜻 생각이 나지 않네요.... :D
보이는 것이 항상 진실일까요????
답변 달아 주신 모든 분들께 감사드립니다...사실, gnupl
답변 달아 주신 모든 분들께 감사드립니다...
사실, gnuplot은 특정한 Tool이고 논문을 쓰시는 분들 이외에는 존재 자체를 잘 모르는 Tool이라서 질문을 올리면서도
답변이 올라올 것을 크게 기대는 하지 않았었습니다...
그런데, 이렇게 많이, 또 상세하게 답변을 달아 주셨네요...
다시 한 번 답변을 달아 주신 모든 분들께 감사드립니다...
이제 저도 gnuplot에 대해서 좀 더 많이 공부해야 겠습니다...
자세히 보면 볼 수록 점점 더 강력함을 느끼게 되네요...
특히, Scripting 기능은 아주 따봉! 입니다... 많은 수의 Graph를 한 큐에 처리할 수 있네요...
그럼 20000
댓글 달기