あの散布図、結構面白いなあ。回帰直線と傾きが直角になる回帰直線も求めて、水平に座標変換して、てきとうにスケーリングして、メジャー/マイナー、一般/オタ 向けアニメという区分に分けられそう。
で
> d=read.table("r.data", header=TRUE) > d1=data.frame(x=log(d$kw[c(1:49)]), y=log(d$rescnt[c(1:49)])) > d2=data.frame(x=d1$x-mean(d1$x),y=d1$y-mean(d1$y)) > l=lm(y~x, d2) > c=l$coef["x"] > x1=d2$x > y1=d2$y > sinc=c/sqrt(c*c+1) > cosc=1/sqrt(c*c+1) > x2=x1*cosc+y1*sinc > y2=-x1*sinc+y1*cosc > par(cex=1.0, adj=0.5, plt=c(0.05, 0.95, 0.05, 0.95)) > plot(x2,y2,pch=16,col="lightblue4",xlab="",ylab="")
ログスケールに変換して、回帰直線の傾き求めて、座標を回転する。