gnuplot ã®ããã¹ã端æ«åºåã¨ãEmacs 飿º
ã½ããã¦ã§ã¢ã®æ§è½ãå®å®æ§ã®æ¸è³ã®ããã«ããªãããã®ãã¹ããè¡ããçµæãã°ã©ãåãããã¨ãããã¾ããæããã½ããã¦ã§ã¢å±ã«éããå¹ åºãå©ç¨ããã¦ãã gnuplot ã¨ããã°ã©ãã®åºåãã¼ã«ãããã¾ããã°ã©ãæ¸ã以å¤ã«ãè²ã ã¨æ©è½ãããã¿ãããªã®ã§ãããå æ¥ãµã¨ç¥ã£ãããã¹ã端æ«åºåã便å©ã ã£ãã®ã§ãã¡ã¢ãããã®ã¨ã³ããªãã
ã°ã©ããããã¹ã端æ«ã«ã¢ã¹ãã¼ã¢ã¼ãã§åºåããã¨ããã£ããããã±ããã«ã³ããã§ãããã¹ãçµæã®å ±æãç°¡åã«ã§ãã¾ãããæçµçã«ã¯ç¶ºéºãªã°ã©ããæ¸ãå¿ è¦ãããå ´åãå¤ãã§ãããããéå ±ãè¦ç´ã®ç®çã§ã±ã¼ã¹ãã¤ã±ã¼ã¹ã§ä½¿ããããã¨ä¾¿å©ã§ãã
åè
- gnuplot ã®ãã¼ã ãã¼ã¸ gnuplot homepage
- æ¥æ¬èªããã¥ã¢ã«ããã http://www.gnuplot.info/documentation.html
- Emacs gnuplot-mode http://xafs.org/BruceRavel/GnuplotMode
- Emacs gnuplot-mode ã®æ¥æ¬èªã§ã®ç°¡æèª¬æ http://homepage1.nifty.com/fin/soft/emacs/gnuplot-mode.html
gnuplot ã®ã¤ã³ã¹ãã¼ã«
ç§ã¯ MacPorts ã使ã£ã¦ããã®ã§ port ã³ãã³ãã§ã¤ã³ã¹ãã¼ã«ãã¾ããã
ããã¦ãã®ãã©ãããã©ã¼ã ã§ã¯ããã±ã¼ã¸ããããã¨ã§ãããã
$ sudo port isntall gnuplot
MacPorts ã§ã¯ä¾åã§ AquaTerm (http://sourceforge.net/projects/aquaterm/) ãã¤ã³ã¹ãã¼ã«ããã¾ãã
å¾ã«èª¬æãã端æ«è¨å®ã§ MacOSX ã§ã¯ AquaTerm ãå©ç¨å¯è½ã§ãã
gnuplot ã®å®è¡ã¨ãããã¹ã端æ«åºå
ã¤ã³ã¹ãã¼ã«ã¯ããçµããã¾ãããããã®ã¨ã³ããªã®ä¸»ç®çã§ããããã¹ã端æ«åºåã3è¡ã§çµããã¾ãã
ã³ãã³ãã©ã¤ã³ã§ gnuplot ãå®è¡ãã¦ã2ã¤ã® gnuplot ã³ãã³ããå®è¡ãã¾ãããã
$ gnuplot
gnuplot> set terminal dumb gnuplot> plot sin(x)
ã¯ããçµãããããã§ã使ãã®ç«¯æ«ã«ãããªãããã®ã°ã©ããåºåãããã¯ãã§ãã
1 ++---------------***---------------+---**-----------+--------**-----++
+ * * + * ** + sin(x) ****** +
0.8 ++ * * * * * * ++
| * * * * * * |
0.6 *+ * * * * * * ++
|* * * * * * * |
0.4 +* * * * * * * ++
|* * * * * * * |
0.2 +* * * * * * *++
0 ++* * * * * * *++
| * * * * * * *|
-0.2 ++ * * * * * * *+
| * * * * * * *|
-0.4 ++ * * * * * * *+
| * * * * * * *
-0.6 ++ * * * * * * +*
| * * * * * * |
-0.8 ++ * * * * * * ++
+ * * + ** * + * * +
-1 ++-----**--------+-----------**----+--------------***---------------++
-10 -5 0 5 10è¦äºãªãµã¤ã³ã«ã¼ã!
説æããã¾ã§ããªãã§ããã set terminal ã³ãã³ãã使ã£ã¦ãåºåå ã dumb ã«è¨å®ãã¦ãã¾ãããã®åºåå ã¯ã¢ã¹ãã¼ã¢ã¼ãã§åºåã表示ãã¾ãã詳ããã¯æ¥æ¬èªã® PDF ããã¥ã¢ã«ãè¦ãã¨è¯ãã§ãããã
æåããããã¹ã端æ«ãåºåå ã«æå®ããã«ã¯ã~/.gnuplot ãä½ã£ã¦ãã³ãã³ããå®è¡ããã¾ãã
set terminal dumb
大ããã®è¨å®
set terminal ã³ãã³ãã®ãªãã·ã§ã³ã§ãåºåãã大ããã®è¨å®ãã§ãã¾ãã
ä¾ãã°ã次ã®ãããªã³ãã³ãã§ããã£ããã«è²¼ããããããªãã¡ãã£ã¨å°ããã«åºã¾ãã
set xrange [0:2*pi] set yrange [-1.4:1.4] set terminal dumb 50 20 # small plot sin(x)
表示ã®éã¯ã軸ã®å»ã¿(tick)ãã°ã©ãã¨éãªãã¨è¦ã«ããã®ã§ãã¡ãã£ã¨ range ãåºãã«åãã®ãè¯ãããã§ãã
çµæã¯æ¬¡ã®éãã
+-----+------+-----+-----+------+-----+-+
+ + + + +sin(x)+****** |
1 ++ ***** ++
| ** *** |
| ** ** |
0.5 ++ ** * ++
|** ** |
0 ** ** +*
| ** **
| ** **|
-0.5 ++ * ** ++
| ** ** |
| *** ** |
-1 ++ ***** ++
+ + + + + + + |
+-----+------+-----+-----+------+-----+-+
0 1 2 3 4 5 6
Emacs gnuplot-mode.html
ã¡ã¢ã¤ãã§ã« Emacs ã® gnuplot ã¤ã³ã¿ã¼ãã§ã¼ã¹ãã
Emacs ã®ã¡ã¸ã£ã¼ã¢ã¼ãã¨ã㦠gnuplot-mode ããããã¨ã¦ã便å©ã§ããMacPorts ã§å ¥ããå ´åã /opt/local/share/emacs/site-lisp/gnuplot.el[c] ã«å ¥ã£ã¦ã¾ãããCarbonEmacs ã®å ´åã¯ãæåããå ¥ã£ã¦ã¾ãã
ç°¡åã«ã¯ãgnuplot ã®ã³ãã³ãããã¡ã¤ã«ã«æ¸ãã¦ããã¦ãè¡ãç¯å²æå®ã§å®è¡ãããã¨ããã ãã§ããããã ãã§ãã gnuplot ã¯ãã©ã¡ã¼ã¿ãã¡ããã¡ããå¤ããªããå®è¡ããã®ã§ãå°å³ã«å¹ãã¾ãã
ãã¡ã¤ã«ã®æ¡å¼µåã¯ã *.gp ã«ããã¨åæè¨å®ã§æå¹ã«ãªãããã§ãã
ã³ãã³ãã¯äºãå®ç¾©ããã¦ãã2ã¤ã¨ãèªåå®ç¾©ã®1ã¤(ãã使ã£ã¦ãªã)ã
- C-c C-l
- ãã¤ã³ãã®ããè¡ã®ã³ãã³ããå®è¡ãã
- C-c C-r
- 鏿ãããç¯å²ã®ã³ãã³ããå®è¡ãã
- C-c C-p
- åæç» (replot)
å人çã«ã¯åãããããã³ãã³ãã§åæç»ããã使ãã®ã§ã次ã®ããã«å®ç¾©ãã¦ãã¾ãã
(defun gnuplot-send-replot-to-gnuplot () "Sends replot to gnuplot" (interactive) (gnuplot-send-string-to-gnuplot "replot\n" 'line) ) (define-key gnuplot-mode-map "\C-c\C-p" 'gnuplot-send-replot-to-gnuplot)
ããã§ãEmacs ã®ä¸ã§ gnuplot ã®ã³ãã³ããç·¨éãã¦ãå®è¡ã§ããããã«ããã¹ã端æ«åºåã®å ´åã¯ãgnuplot åºåã®ãããã¡ã¸ã°ã©ããåºåããããããEmacs ã®ä¸ã§çµæç¢ºèªã¾ã§ã§ãã¾ãã
ãã¾ã AquaTerm (Mac OS X ã®ã¿)
ã¢ã¹ãã¼ã¢ã¼ãã§ã¯ãªããã¡ããã¨ããã°ã©ãå°å·ããã¨ãã«ã¯ãMac OS X ã§ã¯ AquaTerm ã便å©ãªããã§ããset terminal aqua ããã¨ä½¿ãã¾ãã
以ä¸ãgnuplot ã®å°ãã¿ã§ããã