Mik*_*Ike 4 r data-visualization colors scale ggplot2
我正在分析Alberto Cairo的"功能艺术"中的datavis示例(我建议你)
在那本书中,有这个例子

我在R.中尝试在左下图(散点图)
我使用书中的数据,并计算人口的lm(efect ~ pop)功能和人口+效果的预算的有效军队
这里有一个问题:如何用颜色表(渐变)绘制散点图的背景,其中颜色代表BUDGET的值?
之后我想把点(人口,效果)与预算的颜色放在一起.通过这种方式,我可以将国家的预算与人口+效应函数的强制预算进行比较
我知道基本的R,我已经安装了ggplot2并扩展了包
我想要一个类似的图表

但是颜色正确.
谢谢.
要获得背景,您可以使用它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)
要得到:

| 归档时间: |
|
| 查看次数: |
725 次 |
| 最近记录: |