我有一个以下结构的数据框:
x series
11.1 "without restraints"
9.8 "without restraints"
7.0 "restraints"
...
Run Code Online (Sandbox Code Playgroud)
我想绘制按系列分组的数据的累积分布函数.一般情况下,它与命令一起工作正常
ggplot(data = df, aes(x = x, col = series)) + stat_ecdf(geom = "smooth") + scale_x_continuous(limits=c(min_x, max_x))
Run Code Online (Sandbox Code Playgroud)
x值范围从3.7到大约20.如果我将限制设置为3和25,则输出看起来像http://i40.tinypic.com/2crm5xc.jpg 但是如果我将限制设置为3和10,则输出为http ://i42.tinypic.com/24viudg.jpg现在根据3到10范围内的数据集计算分数/密度.有没有一种方法可以用整个数据集的比例绘制它,所以密度是相对于完整的数据集给出的(因此它应该在x值为10时约为0.13).
谢谢你的帮助.
你可以使用coord_cartesian:
+ coord_cartesian(xlim = c(3, 10))
Run Code Online (Sandbox Code Playgroud)
与指定的限制相反scale_x_continuous,coord_cartesian确实使用整个数据集.
来自?coord_cartesian:
设置坐标系的限制将缩放图(就像你用放大镜看它一样),并且不会像刻度上的设置限制那样改变基础数据.
整个代码:
ggplot(data = df, aes(x = x, col = series)) +
stat_ecdf(geom = "smooth") +
coord_cartesian(xlim = c(min_x, max_x))
Run Code Online (Sandbox Code Playgroud)