¸®´ª½º ±âŸ ÀÚ·á

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   Gnu-plot ¹Ì´Ï °­Á 1998/07/08 (15:17)
À̸§ ±èÈ¿¿ø
¹øÈ£ 54
Á¶È¸ 388
º»¹®  ÀÌ ¹®¼­´Â GNUPLOT¿¡ ´ëÇÑ »ç¿ë¹ýÀ» ¼­¼úÇÏ°íÀÚ ÇÕ´Ï´Ù.
 ¼ø¼­:
1> ¸À º¸±â
2> ¹®¼­·Î Ç¥ÇöÇϱâ
3> data¸¦ µµ½ÄÈ­Çϱâ
4> ¸ÚÁö°Ô ²Ù¹Ì±â  
5> ¸¶Ä¡¸é¼­.
(ref)1. LaTex and the GNPLOT Plotting Program
(by David Kotz :David.Kotz@Dartmouth.edu)
    2. GNUPLOT an interactive Plotting Program
(by Tomass Williams & Colin Kelly)
<Âü°í> Á¦°¡ Âü°íÇÑ °ÍÀº postscript·Î ÀÛ¼ºµÇ¾î ÀÖ´Ù. ±×¸®°í,
¸¸¾à È­ÀÏÀÌ Áö¿öÁöÁö ¾Ê°í ³²¾Æ  ÀÖÀ¸¸é, Á¶¸¸°£ ³ª¿ì´©¸®¿¡ ¿Ã¸®°Ú´Ù.
¿µ¾î·Î ÀÛ¼ºµÇ¾î ÀÖÁö¸¸, Á¦ °­Á°¡ ¿µ ½Ã¿øÄ¡ ¾ÊÀ¸¸é,
À§ÀÇ °ÍÀ» ´Ù¿î ¹Þ¾Æ¼­ ÇÁ¸°Æ®Çؼ­ º¸¸é ÁÁ°Ú´Ù.
~!^ :)

1> ¸À º¸±â
~~~~~~~~~~~
 ¿ì¼± ¸Àº¸±â·Î ½¬¿î ¿¹¸¦ º¸ÀÌ°ÚÀ¾´Ï´Ù. À¯°¨½º·´°Ôµµ ¾ÆÁ÷ latex¸¦ »ç¿ëÇÒÁÙ
¸ô¶ó¼­ ±×¸²À» °°ÀÌ ¿Ã¸®Áö ¸øÇÏ´Ï ½ÇÁ¦·Î ÇØ º¸¸é¼­ È®ÀÎÇØ º¸¼¼¿ä.

-------------------------------------
hacker:~$ gnuplot

       G N U P L O T
       Linux version 3.5
       patchlevel 3.50.1.17, 27 Aug 93
       last modified Fri Aug 27 05:21:33 GMT 1993

       Copyright(C) 1986 - 1993   Thomas Williams, Colin Kelley

       Send comments and requests for help to info-gnuplot@dartmouth.edu
       Send bugs, suggestions and mods to bug-gnuplot@dartmouth.edu

Terminal type set to 'x11'
gnuplot> plot [-pi : pi] sin(x)
----------------------------------
<¼³¸í> gnuplotÀ» Ä¡¸é, gnuplot>ÀÌ ³ªÅ¸³³´Ï´Ù. ¸¸¾à ³ªÅ¸³ªÁö ¾Ê¾Ò´Ù¸é,
gnuplotÀÌ ¼³Ä¡µÇÁö ¾ÊÀº °ÍÀÌ´Ï, ÀûÀýÇÑ site¿¡¼­ ftp·Î downÀ» ¹ÞÀ¸¼¼¿ä.
´ÙÀ½Àº sin(x)¸¦ plotÇÏ°í ½ÍÀ» ¶§, »ç¿ëµÇ´Â ¸í·É¾î ÀÔ´Ï´Ù.
Áï, plot [-pi:pi] sin(x)¸¦ Ä¡°í enter¸¦ ´©¸£¸é, »õ·Î¿î âÀÌ ³ª¿À¸é¼­
sinÇÔ¼ö°¡ ³ªÅ¸³³´Ï´Ù.
plot¸í·É¾î´Â 2-d ÇÔ¼ö³ª µ¥ÀÌŸ¸¦ plotÇÒ ¶§ »ç¿ëµÇ´Â ÁÖ¿ä ¸í·É¾îÀÔ´Ï´Ù.
±×·Á¸é, 3-d ÇÔ¼ö³ª µ¥ÀÌŸ¸¦ plotÇÏ°í ½ÍÀ» ¶§´Â... splot¸¦ »ç¿ëÇÕ´Ï´Ù.
plotÀ» »ç¿ëÇÏ´Â °ø½ÄÀÌ ÀÖÀ¾´Ï´Ù.
Syntax:
 plot {ranges} {<function> | {"<datafile>" {using...}}}
             {title} {style} {, <function> {title} {style}...}

Á» º¹ÀâÇÏÁÒ. Àúµµ Àß ¸ð¸£°Ú³×¿ä.
¾Æ¹¸µç plot [¹üÀ§] [ÇÔ¼ö], [¶Ç ´Ù¸¥ ÇÔ¼ö].. ·Î ÀÏ´Ü ±â¾ïÇØ µÎ¼¼¿ä.

2> ¹®¼­·Î Ç¥ÇöÇϱâ
~~~~~~~~~~~~~~~~~~~
ÀÎÁ¦´Â ´Ù¸¥ ¹®Á¦¸¦ »ý°¢ÇØ º¾½Ã´Ù. ³í¹®¿¡ ±×·¡ÇÁ¸¦ ³Ö¾î¾ß ÇÒ »óȲÀÌ
ÀÖ¾î¿ä. Áö±Ý±îÁø x-window»ó¿¡¼­ ±×·¡ÇÁ¸¦ º¼ ¼öÀÖ¾úÁö¸¸, ÇÁ¸°Æ®°¡ °¡´ÉÇÏÁö
¾Ê¾Ò°í, ¼³·É °¡´ÉÇصµ ³í¹®¿¡ Æ÷ÇÔµÇÁö ¾ÊÀ¾´Ï´Ù.

¸¸¾à ¿©·¯ºÐÀÌ ³í¹®À» latex¸¦ »ç¿ëÇؼ­ »ç¿ëÇÑ´Ù¸é, ´ÙÇàÈ÷µµ ¹æ¹ýÀº ÀÖÀ¾´Ï´Ù.
¿ì¼±, input È­ÀÏÀ» ¸¸µé¾î¾ß ÇÕ´Ï´Ù.

¹æ±Ý Àü¿¡ Çß´ø °ÍÀ» ´Ù½Ã ÇØ º¾½Ã´Ù. ´ÙÀ½Àº sin.inÀ̶ó´Â È­ÀÏ ³»¿ëÀÔ´Ï´Ù.
------------------------------
hacker:~$ more sin.in
set terminal latex
set output "sin.tex"
plot [-pi: pi] sin(x)

hacker:~$
--------------------------------
¿ì¼± ùÁÙÀ» º¸ÀÚ. set terminal latex°¡ ³ª¿Â´Ù.
¿µ¾î¸¦ ¸øÇصµ Å͹̳¯À» latex·Î ¼³Á¤ÇÏ´Â °¡ º¸±º... »ý°¢À» ÇÏ°Ô µÈ´Ù
(»ç½Ç ÀÌ·¸°Ô »ý°¢Çصµ µÉÁö Àß ¸ð¸£°Ú´Ù. ±×·¯³ª, Ãâ·ÂµÇ´Â Æ÷¸Ë(¿¹·Î,
¹®¼­ ÆíÁý±â¿¡¼­, ms-word, hwp3.0, hwp2.5...ÀúÀåµÇ´Â ÇüÅÂ¿Í °°Àº ÀǹÌ)À»
latex·Î ÇØ´Þ¶ó ¶ó°í gnuplot¿¡°Ô ¾Ë¸®´Â °ÍÀÌ´Ù.):).
±×·±µ¥, terminal¿¡ ´Ù¸¥ °ÍÀ» ¼³Á¤ÇÏ°í ½Í´Ù.
Áï latexº¸´Ù postscript, imagen ±×¸®±¸, figÀ» ¼³Á¤ÇÏ°í ½ÍÀ¸¸é,
À̸§¸¸ ¹Ù²Ù¸é µÈ´Ù.
¿¹)
 set terminal postscript              
 set terminal fig
<Âü°í> gnuplotÀ» Ä¡°í µé¾î°¡¸é, gnuplot>°¡ ³ªÅ¸³­´Ù. ÀÌ ¶§ ±×³É
set terminalÀ» Ä¡°í enter¸¦ ´­·Áº¸¶ó... ¾öû³ª°Ô ¸¹Àº terminalµéÀÌ ³ª¿Â´Ù.

µÎ¹ø° ÁÙÀ» º¸ÀÚ. set output "sin.tex".... ÀÌ°ÍÀº output È­ÀÏ À̸§À»
sin.tex·Î ¸¸µé¾î ´Þ¶ó¶ó°í gnuplot¿¡°Ô ºÎŹÇÏ´Â ÁÙÀÌ´Ù.
¸¶Áö¸· ÁÙÀº ¹æ±ÝÀü¿¡ ÀÛ¾÷ÇÑ °ÍÀε¥, Áï, sin(x) ÇÔ¼ö¸¦ ¹üÀ§ -piºÎÅÍ Pi±îÁö
µµ½ÄÈ­ ÇØ´Þ¶ó´Â °ÍÀÌ´Ù.


 Áö±Ý±îÁö input È­ÀÏÀ» ÀÛ¼ºÇØ º¸¾Ò°í, °¢ ¶óÀÎÀÇ Àǹ̸¦ ÀÌÇØÇß´Ù.
±×·¯¸é, ¿øÇÏ´Â °á°ú(output È­ÀÏ)À» ¾ò¾î º¸ÀÚ. ´ÙÀ½°ú °°ÀÌ ÇØ º¸ÀÚ.
---------------------------
hacker:~$ gnuplot sin.in
hacker:~$ more sin.tex
% GNUPLOT: LaTeX picture
\setlength{\unitlength}{0.240900pt}
\ifx\plotpoint\undefined\newsavebox{\plotpoint}\fi
\sbox{\plotpoint}{\rule[-0.200pt]{0.400pt}{0.400pt}}%
\begin{picture}(1500,900)(0,0)
........
---------------------------
latex¸¦ ¾Æ½Ã´Â ºÐÀº ¹«½¼ ¸»ÀÎÁö¸¦ ¾Ë°ÚÁö¸¸,½Ã°¢È­ µÇ¾îÀÖÁö ¾Ê¾Æ¼­
¶Ç ´Ù¸¥ ºÒÆíÇÔÀÌ ÀÖ´Ù.

±×·¯¸é, ¾Õ¼­ ÀÛ¾÷ÇÑ sin.in È­ÀÏÀÇ Ã¹ ÁÙÀÇ ³»¿ëÀ» ¹Ù²ÙÀÚ.
set terminal postscriptÀ¸·Î ¹Ù²Ù°í, µÎ¹ø° ÁÙµµ ¹Ù²ÙÀÚ.
set output "sin.ps"·Î ¹Ù²Ù°í, gnuplot sin.inÀ» Çغ¸ÀÚ.
¾Æ¸¶ sin.ps°¡ Çü¼º µÇ¾úÀ» °ÍÀÌ´Ù.
À̶§ ghostview·Î ÀÌ È­ÀÏÀ» º¸¸é, sin(x)ÇÔ¼ö¸¦ ±¸°æÇÒ ¼ö ÀÖ°í,
ÇÁ¸°ÅÍ ÇÒ ¼öÀÖ´Ù.

3> data¸¦ µµ½ÄÈ­Çϱâ
~~~~~~~~~~~~~~~~~~~~~
¿©·¯ºÐÀÌ data¸¦ °¡Áö°í ÀÖ°í, ÀÌ°ÍÀ» plotÇØ¾ß ÇÏ´Â ÀÛ¾÷ÀÌ ÀÖ´Ù.
Áö±Ý±îÁø ±×³É ¼öÇÐ ÇÔ¼ö¸¦ ¸ÚÁö°Ô plotÀ» ÇßÁö¸¸, ÀÓÀÇÀÇ data¸¦ ±×·¡ÇÁµîÀ¸·Î
Ãâ·Â½ÃÅ°Áö ¸øÇß´Ù. ¿ì¼± data fileÀÌ ÀÖ¾î¾ß ÇÑ´Ù.

----------------------------------
hacker:~$ more eg3.dat
# value of x    value of y
   -20           -10
   -15           -15    
   -10           -3
   -5            -7
    0             0
    5             6
    10            4
    15            9    
    20            14
-------------------------------------
À§ÀÇ ¿¹Ã³·³ data fileÀ» ¸¸µé¾úÀ¸¸é, input fileÀ» ¸¸µéÀÚ.

------------------------------------
hacker:~$ more test.in
set terminal postscript
set output "eg3.ps"
set title "This is data"
set key 15, -10
plot x with lines, "eg3.dat" with linespoints
-------------------------------------

¿©±â¿¡¼­ º¸¸é, x ¹üÀ§¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Ò´Ù. ÀÌ°ÍÀ» gnuplotÀ¸·Î °á°úÈ­ÀÏ(eg3.ps)¸¦
¾òÀ¸¸é ¾Ë¼ö ÀÖµíÀÌ x ¹üÀ§°¡ ÀÚµ¿À¸·Î °áÁ¤µÇ´Â µ¥, data file¿¡ ÀÖ´Â x ¹üÀ§°¡
±âÁØÀÌ µÈ´Ù. ±×¸®°í, y= xÇÔ¼ö´Â °°Àº ¹üÀ§³»¿¡¼­ ±×·ÁÁø´Ù.
±×¸®°í, µ¥ÀÌŸ È­ÀÏÀÌ ¾ø°í x ¹üÀ§±îÁö Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é, ±âº»°ªÀ¸·Î
[-10 : 10]ÀÎ x ¹üÀ§¸¦ ÁØ´Ù.
´ÙÀ½À¸·Î °ü½ÉÀ» °¡Áú °ÍÀº styleÀÌ´Ù. À§ÀÇ ¿¹¿¡¼­ lines¿Í linespoints°¡ styleÀ»
ÁöÁ¤ÇÑ ¿¹ÀÌ´Ù.
lines´Â ¼±À» ¸»Çϸç, ÇÔ¼öµîÀ» ¼±À¸·Î plotÇ϶ó´Â °ÍÀÌ´Ù.
linspoints´Â ¼±°ú Á¡À» °°ÀÌ »ç¿ëµÇ´Âµ¥, Á¡Àº °¢ data Á¡¿¡ ±âÈ£(symbol)À» plotÇÏ°Ô
µÈ´Ù.
points´Â Á¡À» ¸»Çϸç, linespoints¿Í Â÷ÀÌÁ¡Àº Á¡»çÀÌ¿¡ ÀÕ´Â ¼±ÀÌ ¾ø¾îÁø´Ù.
±×¸®°í, ¼± Á¾·ù¿Í ±âÈ£ Á¾·ù°¡ ¿©·¯°³ ÀÖ´Ù.
dots´Â °¢ µ¥ÀÌŸ Á¡¿¡ ±âÈ£°¡ ¾Æ´Ñ Á¶±×¸¸ÇÑ Á¡(dot)À» Âï´Â´Ù.
impulses´Â x Ãà¿¡¼­ °¢ µ¥ÀÌŸ Á¡±îÁö ¼öÁ÷À¸·Î ¼±À» ±×¸°´Ù. (½ÇÁ¦·Î ÇØ º¸¾Æ¶ó)
errorbarsµµ ÀÖ´Ù.



4> ¸ÚÁö°Ô ²Ù¹Ì±â
~~~~~~~~~~~~~~~~~
À̹ø¿¡´Â x Ãà°ú y Ãà¿¡ ¶óº§(label)À» ÷°¡ÇÏ°í, x Ãà, y ÃàÀÇ Å©±â¸¦ ¿øÇÏ´Â
Å©±â·Î Á¶ÀýÇØ º¸ÀÚ.

------------
hacker:~$ more sin.inp
set terminal postscript
set output "sin.ps"
set size  3.5/5, 3/3
set format y "%g"
set format x "%.2f"
set title "This is sin(x) "
set xlabel "This is the x axis"
set ylabel "sin(x)"
set nokey
set xtics -pi, pi/4
plot [-pi:pi] [-1 : 1] sin(x)

-------------------------
***¿ì¼± set size¿¡ ´ëÇؼ­ ¼³¸íÇÏ°Ú´Ù.
set size { <xscale>, <yscale>}
ÀÇ ¾ç½ÄÀ» ÃëÇϸç, À̶§ <xscale> <yscale>Àº size¿¡ ¤Ô´ëÇÑ scaling factorÀÌ´Ù.
¿¹)
  set size
  set size 0.5 0.5
»ç¿ëµÈ size¸¦ ¾Ë±â À§Çؼ± ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
  show size
±×¸®°í, Áß¿äÇÑ Âü°í´Â LaTex¿Í Fig Å͹̳¯(terminal)À» »ç¿ëÇÒ °æ¿ì,
default size (scale factor 1, 1)Àº °¡·Î(Æø) 5 inch, ¼¼·Î(³ôÀÌ) 3 inchÀÌ´Ù.
ÀÌ ±æÀ̸¦ Âü°í·Î ±×¸²ÀÇ Å©±â¸¦ °áÁ¤ÇÏ±æ ¹Ù¶õ´Ù.

***set formatÀº c ¾ð¾î¿¡¼­ º¼ ¼öÀÖ´Â ¾ç½ÄÀÌ´Ù.
Áï c ¾ð¾î¿¡¼­, printf ("%4.2f %d", x, y);......¶ó´Â ¹®ÀåÀ» ÀÌÇØÇÏ´Â »ç¶÷Àº
´ÙÀ½À» ÀÌÇØÇϱ⠽¬¿ï °ÍÀÌ´Ù.
 set format y "%g"
 set format x "%.2f"
ù¹ø° ¿¹´Â y Ãà¿¡ Ç¥½ÃµÇ´Â ¼ýÀÚ°¡ ÀϹÝÀûÀÎ floatÇüÀÌ´Ù´Â °ÍÀÌ°í,
µÎ¹ø° ¿¹´Â x Ãà¿¡ Ç¥½ÃµÇ´Â ¼ýÀÚ°¡ ¼Ò¼ö 2¹ø° ÀÚ¸®±îÁö Ç¥½ÃÇØ ´Þ¶ó´Â °ÍÀÌ´Ù.

***set title "....."Àº titleÀ̸§À» Àû´Â´Ù.
***set xlabel ¶Ç´Â set ylabelÀº x Ãà, y ÃàÀÇ À̸§À» Àû´Â´Ù.

***set xtics´Â ´ÙÀ½°ú °°Àº Çü½ÄÀ» ÃëÇÑ´Ù.
set xtics { {<start>, <incr>{, <end>}} |
{ ({"<label>"} <pos> {, {"<label>"} <pos>} ...)}  }
¿¹)  set xtics -pi, pi/4
    set xtics ("-pi" -pi, "-pi/2" -pi/2, "0" 0, "pi/2" pi/2, "pi" pi)
    set xtics ("$-\pi$" -pi, \
"$-\frac{\pi}{2}$", -pi/2, \
"0" 0, \
"$\frac{\pi} {2}$ pi/2, \
"$\pi$" pi)
ù¹ø°¸¦ µµ½ÄÈ­Çϸé, x ÃàÀÇ ticÀÌ ¼ýÀÚ·Î ³ª¿Â´Ù. ±×°ÍÀÌ ¿øÇÏÁö ¾Ê°í,
pi¸¦ ³ªÅ¸³»¼­ Ç¥ÇöÇÑ ¹æ¹ýÀÌ µÎ¹ø°¿¹ÀÌ´Ù.
¼¼¹ø°¿¹´Â set terminal latexÀÏ °æ¿ì¿¡ ¸ÚÁö°Ô ³ªÅ¸³­´Ù(¾Æ¸¶).


HomePage Backward Forward Post Reply List
1998 by swindler