Rは多様なグラフが描けるのが本当におもしろい。凝り出すときりがない。
symbol関数とpchのこと。
でも、pchはHmiscパッケージのshow.pch関数がとても便利です。
こっちにわかりやすい図がありました。
- 作者: 岡田昌史,荒木孝治,伊藤康広,里洋平,高柳慎一,棚瀬貴紀,谷村晋,中谷朋昭,蓮見亮,林真広,樋口千洋,福島真太朗,牧山文彦,横山貴央,akira,mickey24
- 出版社/メーカー: 東京図書
- 発売日: 2011/04/09
- メディア: 単行本
- 購入: 2人 クリック: 1,298回
- この商品を含むブログ (16件) を見る
- symbol関数
symbol関数は引数circles, squares, rectangles, stars, thermometers, boxplotsを持ちます。
引数pchのようなものですが、比較的自由度をもって指定できるので、使い方によっては効果的なグラフになるのでは?
(僕はクリティカルな現場に遭遇したことがないのですが…)
> jpeg("symbol.jpg") > x <- cbind("a"=1:5,"b"=5:1,"c"=6:10,"d"=10:6,"e"=sample(10,5)/10) > layout(matrix(1:6,ncol=3)) > symbols(x[,1:2],circles=x[,1]/10,inches=FALSE,main="circles") > symbols(x[,1:2],squares=x[,2]/10,inches=FALSE,main="squares") > symbols(x[,1:2],rectangles=x[,3:4]/10,inches=FALSE,main="rectangles") > symbols(x[,1:2],stars=x[,3:5]/10,inches=FALSE,main="stars") > symbols(x[,1:2],thermometers=x[,3:5]/10,inches=FALSE,main="thermometers") > symbols(x[,1:2], boxplots=x/10,inches=FALSE,main="boxplots") > dev.off()
きっと、2変量の関係に対して、第3の要素を加えてインパクトをつけたいときにいいのだと思う。
たとえば、[:title]で使ったscatterplot3dグラフは
> x <- data.frame("steps"=rep(rep(-2:2,each=5),2) + , "sin"=sin(seq(-pi,pi,length.out=50)) + ,"cos"=cos(seq(-pi,pi,length.out=50))) > # circleの大きさは負値を取れないので絶対値に > (x <- subset(x, subset=x$"steps">0)) steps sin cos 16 1 -9.384684e-01 0.3453651 17 1 -8.865993e-01 0.4625383 (中略) 49 2 1.278772e-01 -0.9917900 50 2 1.224606e-16 -1.0000000 > jpeg("symbol2.jpg") > symbols(x=x$"sin", y=x$"cos", circles=x$"steps",main="scattetplot3d_data") > dev.off()
- 引数pchについて
pchは文字も指定できますが、オフセット値をいくつか持っています。
あらかじめ知っているととても便利です。
x <- cbind(x=rep(1:12,each=12),y=rep(1:12,times=12)) jpeg("pch.jpeg") plot(x, pch=c(0:25,32:127),cex=2) # 26 ~ 31にはpchの割り当てはありません dev.off()