R 在不删除数据的情况下限制ggplot2轴(超出限制):缩放

R 在不删除数据的情况下限制ggplot2轴(超出限制):缩放,r,ggplot2,zooming,limits,R,Ggplot2,Zooming,Limits,如果在ggplot中指定轴限制,将删除外围点。这对于点很好,但您可能希望绘制与指定范围相交的线,但ggplot的范围或xlim/ylim方法会删除这些线。是否有其他方法可以在不删除外围数据的情况下指定打印轴范围 e、 g 哈德利在第99页解释了这一点;第133页,或者第160-161页,如果你有 问题是,正如您所说,限制范围或设置内的会导致数据被丢弃,因为它们限制了数据。对于真正的缩放(保留所有数据),需要在笛卡尔坐标系(或其他坐标系)内设置限制。有关更多信息,请参阅: 如果因为我使用了geom

如果在ggplot中指定轴限制,将删除外围点。这对于点很好,但您可能希望绘制与指定范围相交的线,但ggplot的
范围
xlim/ylim
方法会删除这些线。是否有其他方法可以在不删除外围数据的情况下指定打印轴范围

e、 g


哈德利在第99页解释了这一点;第133页,或者第160-161页,如果你有

问题是,正如您所说,
限制范围或设置内的
会导致数据被丢弃,因为它们限制了数据。对于真正的缩放(保留所有数据),需要在笛卡尔坐标系(或其他坐标系)内设置限制。有关更多信息,请参阅:


如果因为我使用了
geom\u boxplot
,coord\u cartesian不是一个选项怎么办?
coord\u cartesian
仍然是
geom\u boxplot
或其他geom的一个选项。是的,但无法确定如何进行水平箱线图,因为这需要
coord\u flip
,而且你不能有两个coords。没关系,在这种情况下,可以在
coord\u flip
中设置ylim,而不是在
coord\u cartesian
中设置。
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)
ggplot(d, aes(x, y, group=grp)) + 
    geom_line() + 
    coord_cartesian(ylim=c(0, 7))