我想使用ggplot2包并排放置两个图,即相当于par(mfrow=c(1,2)).
例如,我希望以下两个图表以相同的比例并排显示.
x <- rnorm(100)
eps <- rnorm(100,0,.2)
qplot(x,3*x+eps)
qplot(x,2*x+eps)
Run Code Online (Sandbox Code Playgroud)
我需要将它们放在相同的data.frame中吗?
qplot(displ, hwy, data=mpg, facets = . ~ year) + geom_smooth()
Run Code Online (Sandbox Code Playgroud) 我有一个ggplot命令
ggplot( rates.by.groups, aes(x=name, y=rate, colour=majr, group=majr) )
Run Code Online (Sandbox Code Playgroud)
在一个函数内部.但我希望能够使用该函数的参数来挑选要用作颜色和组的列.即我想要这样的东西
f <- function( column ) {
...
ggplot( rates.by.groups, aes(x=name, y=rate, colour= ??? , group=??? ) )
}
Run Code Online (Sandbox Code Playgroud)
因此ggplot中使用的列由参数确定.例如对于f("majr")我们得到了效果
ggplot( rates.by.groups, aes(x=name, y=rate, colour=majr, group=majr) )
Run Code Online (Sandbox Code Playgroud)
但对于f("性别"),我们得到了效果
ggplot( rates.by.groups, aes(x=name, y=rate, colour=gender, group=gender) )
Run Code Online (Sandbox Code Playgroud)
我试过的一些事情:
ggplot( rates.by.groups, aes(x=name, y=rate, colour= columnName , group=columnName ) )
Run Code Online (Sandbox Code Playgroud)
不工作.也没有
e <- environment()
ggplot( rates.by.groups, aes(x=name, y=rate, colour= columnName , group=columnName ), environment=e )
Run Code Online (Sandbox Code Playgroud) 我正在使用 gapminder 并尝试编写一个简单的函数来显示lifeExp对gdpPercap. 但是,当我将参数放入函数中时,无法识别参数。
我已经尝试了几个答案,但还没有结果。
plotting <- function (input, xx, yy){
library (ggplot2)
library (gapminder)
ggplot (input, aes (xx, yy, size = pop, color = country)) + geom_point(show.legend = FALSE)
}
Run Code Online (Sandbox Code Playgroud)
当运行plotting (gampinder, lifeExp, gdpPercap)被用作输入,xx并且yy,其结果是
“FUN(X[[i]], ...) 中的错误:找不到对象‘gdpPercap’”`
这是我被卡住的地方,gdpPercap在那里但没有被代码找到!能否请你帮忙。