如何在线性模型的功能中使用色标填充背景?

Mik*_*Ike 4 r data-visualization colors scale ggplot2

我正在分析Alberto Cairo的"功能艺术"中的datavis示例(我建议你)

在那本书中,有这个例子

http://img546.imageshack.us/img546/8327/snap1026.png

我在R.中尝试在左下图(散点图)

我使用书中的数据,并计算人口的lm(efect ~ pop)功能和人口+效果的预算的有效军队

这里有一个问题:如何用颜色表(渐变)绘制散点图的背景,其中颜色代表BUDGET的值?

之后我想把点(人口,效果)与预算的颜色放在一起.通过这种方式,我可以将国家的预算与人口+效应函数的强制预算进行比较

我知道基本的R,我已经安装了ggplot2扩展了

我想要一个类似的图表

在此输入图像描述

但是颜色正确.

谢谢.

csg*_*pie 5

要获得背景,您可以使用它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)
Run Code Online (Sandbox Code Playgroud)

接下来,我们为背景颜色创建一个网格:

##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)
Run Code Online (Sandbox Code Playgroud)

现在我们需要一个渐变颜色的距离测量.我只是使用回归线的平方距离:

z$grad = (z[,2] - (398.3 +  62.2*z[,1]))^2
Run Code Online (Sandbox Code Playgroud)

然后情节:

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)) 
Run Code Online (Sandbox Code Playgroud)

要得到:

在此输入图像描述