如果在ggplot中指定轴限制,则删除外围点.这适用于点,但您可能希望绘制与指定范围相交的线,但ggplot range或xlim/ylim方法会删除这些.是否有另一种方法来指定绘图轴范围而不删除外围数据?
例如
require(ggplot2)
d = data.frame(x=c(1,4,7,2,9,7), y=c(2,5,4,10,5,3), grp=c('a','a','b','b','c','c'))
ggplot(d, aes(x, y, group=grp)) + geom_line()
ggplot(d, aes(x, y, group=grp)) + geom_line() + scale_y_continuous(limits=c(0,7))
ggplot(d, aes(x, y, group=grp)) + geom_line() + ylim(0,7)
Run Code Online (Sandbox Code Playgroud) 我们如何将y轴更改为百分比,如图所示?我可以改变y轴范围,但我无法改变百分比.

默认情况下,ggplot2会生成灰色背景的图.如何更改绘图背景的颜色?
例如,由以下代码生成的图:
library(ggplot2)
myplot<-ggplot(data=data.frame(a=c(1,2,3), b=c(2,3,4)), aes(x=a, y=b)) + geom_line()
myplot
Run Code Online (Sandbox Code Playgroud) 我使用的是geom_smooth()从ggplot2.
在Hadley Wickham的书("ggplot2 - 用于数据分析的优雅图形")中,有一个例子(第51页),其中method="lm"使用了它.在联机手册不存在的通话method参数.我看到其他人使用的Google搜索结果(以及此处的问题)method='loess'.
是否有一个详尽的清单解释了选项?
从我所看到的,'lm'绘制一条直线,'loess'绘制一条非常平滑的曲线.我假设还有其他人在参考点之间绘制了更多的锯齿线?
se示例中的参数也不在帮助或在线文档中.
FWIW这是我的代码.
p <- ggplot(output8, aes(age, myoutcome, group=id, colour=year_diag_cat2)) +
geom_line() + scale_y_continuous(limits = c(lwr,upr))
p + geom_smooth(aes(group=year_diag_cat2), method="loess", size=2, se=F)
Run Code Online (Sandbox Code Playgroud) 我有一个对象ggplot2,比方说myPlot,如何识别x和y轴的范围?
它似乎不是数据值范围的简单倍数,因为可以重新缩放绘图,修改轴的范围等等. findFn(从sos)和谷歌似乎并不被调高相关的结果,不是如何设置轴的范围等.
我有一个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) 我想知道如何在刻面图中操纵条带文本的大小.我的问题类似于关于情节标题的问题,但我特别关注的是不是操纵情节标题而是出现在方面标题中的文本(strip_h).
例如,考虑mpg数据集.
library(ggplot2)
qplot(hwy, cty, data = mpg) + facet_grid( . ~ manufacturer)
Run Code Online (Sandbox Code Playgroud)
结果输出会生成一些不适合条带的构面标题.
我认为必须有一种方法grid来处理条带文本.但我仍然是一个新手,并且不确定哈德利书中的grid附录是如何做到的.此外,我担心如果我做错了会破坏我的洗衣机,因为我相信所有的技术都通过The Force连接:-(
提前谢谢了.
是否可以按两列分组?所以交叉产品是由geom_point()和geom_smooth()?
例如:
frame <- data.frame(series <- rep(c('a', 'b'), 6), sample <- rep(c('glass',
'water', 'metal'), 4), data <- c(1:12))
ggplot(frame, aes()) # ...
Run Code Online (Sandbox Code Playgroud)
这样点6和12分享一组,但没有3.
我发现了这个,如何在带有ggplot2的R中将标签放在geom_bar上,但它只是将标签(数字)放在一个条上.
这就是说,每个x轴有两个条,怎么做同样的事情?
我的数据和代码如下所示:
dat <- read.table(text = "sample Types Number
sample1 A 3641
sample2 A 3119
sample1 B 15815
sample2 B 12334
sample1 C 2706
sample2 C 3147", header=TRUE)
library(ggplot2)
bar <- ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = 'dodge') + geom_text(aes(label=Number))
Run Code Online (Sandbox Code Playgroud)
然后,我们将得到:

似乎数字文本也定位在"闪避"模式中.我搜索了geom_text手册来查找一些信息,但无法使其正常工作.
建议?
在ggplot2中,如何阻止轴标签缩写 - 例如1e+00, 1e+01,一旦绘制了x轴?理想情况下,我想强制R显示在这种情况下的实际值1,10.
任何帮助非常感谢.