- 374 名前:名無しさん mailto:sage [2012/01/31(火) 12:12:08.71 ID:???]
- >>370
ウジのグラフは、センターがずれてるだけじゃなくて「弧の長さの割合」も意図的に変えてるから、完全再現は無理みたいよw 参考 blog.kzfmix.com/entry/1327735061 そもそも、あんなおぞましいグラフを好んで描く必要ないと思うけど、こんなんでどう? library(grid) quartz(height=4, width=4) #png(filename = "fuji-pie.png", width = 360, height = 360, units = "px") num <- c(94, 97, 78, 78) distortion <- c(1, 1.2, 1, 1) # <- !! dist_num <- num * distortion cum <- c(0, cumsum(dist_num)) rad <- cum / sum(dist_num) * 360 / 180 * pi colors <- c("#0000FFAA", "#FF0000AA", "#000055AA", "#0000AAAA") labels <- paste(c("50ies¥n", "10~20ies¥n", "30ies¥n", "40ies¥n"), num, " ps", sep="") lab_cex <- c(1, 1.5, 1, 1) lab_col <- c("white", "yellow", "white", "white") div <- 200 # 円弧部分の分割数 dx <- 0 # 半径=0.5 として、x 方向への中心のズレ (-0.1 とかにすると、より強烈w) dy <- 0.1 # 半径=0.5 として、y 方向への中心のズレ for (i in 1:length(num)) { x <- c(0.5 + dx, 0.5 + 0.5 * sin(rad[i]), 0.5 + 0.5 * sin(seq(rad[i], rad[i+1], length.out=div)), 0.5 + 0.5 * sin(rad[i+1])) y <- c(0.5 + dy, 0.5 + 0.5 * cos(rad[i]), 0.5 + 0.5 * cos(seq(rad[i], rad[i+1], length.out=div)), 0.5 + 0.5 * cos(rad[i+1])) grid.polygon(x=x, y=y, gp=gpar(fill=colors[i])) grid.text(x=0.5 + 0.4 * sin((rad[i]+rad[i+1])/2), y=0.5 + 0.4 * cos((rad[i]+rad[i+1])/2), label=labels[i], gp=gpar(col=lab_col[i], cex=lab_cex[i])) } #dev.off() RjpWikiにも置いときました。 www.okada.jp.org/RWiki/?R%20%A4%C7%A5%A8%A5%F3%A5%BF%A5%E1#nf026bb6
|

|