背景を取得するにはgeom_raster
、必要な効果を得るために使用できます。@GeekOnAcid で提案されたのと同じデータセットを使用します。
最初にデータを取得し、回帰モデルを当てはめます。
crime = read.csv("http://datasets.flowingdata.com/crimeRatesByState2005.tsv",
header=TRUE, sep="\t")
##Fit the regression model
m = lm(crime$burglary ~ crime$murder)
次に、背景色のグリッドを作成します。
##Create a grid for the background colour
x = seq(1, 10, length.out=100)
y = seq(400, 1200, length.out=100)
z = expand.grid(x,y)
ここで、グラデーション カラーの距離測定が必要です。回帰直線から二乗距離を使用しました。
z$grad = (z[,2] - (398.3 + 62.2*z[,1]))^2
次にプロットします。
require(ggplot2)
ggplot(z) + geom_raster(aes(Var1, Var2, fill=grad)) +
geom_point(data=crime[1:15,], aes(murder, burglary, size=population),pch=1 ) +
geom_text(data=crime[1:15,],
aes(murder, burglary, label=state),
hjust=-0.2, size=4) +
scale_size_continuous(range=c(1,10)) +
scale_fill_continuous(high="red", low="white", trans="sqrt") +
xlab("Murder") + ylab("Burglary") +
guides(size=FALSE, fill=FALSE) +
scale_y_continuous(expand=c(0, 0)) +
scale_x_continuous(expand=c(0, 0))
取得するため: