r - 在不删除数据的情况下限制ggplot2轴(外部限制):缩放

标签 r ggplot2 zoom limits

如果在ggplot中指定轴限制,则将删除偏远点。这对点很好,但是您可能希望绘制与指定范围相交的线,但是ggplot的rangexlim/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)

最佳答案

Hadley在第99页上对此进行了解释;他的ggplot2 book (1st edition)的133,或第160-161页(如果您具有second edition)。

问题是,正如您所说,秤内的limits或设置ylim()会导致数据被丢弃,因为它们限制了数据。为了实现真正的缩放(保留所有数据),您需要在直角坐标系(或其他坐标系https://ggplot2.tidyverse.org/reference/#section-coordinate-systems)内设置极限。有关更多信息,请参见:http://docs.ggplot2.org/current/coord_cartesian.html

ggplot(d, aes(x, y, group=grp)) + 
    geom_line() + 
    coord_cartesian(ylim=c(0, 7))

关于r - 在不删除数据的情况下限制ggplot2轴(外部限制):缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9768051/

相关文章:

r - 插入符号 - 是否可以从调整中保存每个模型?

r - 如何使用 stringr 从字符串中提取多个重叠的字符串?

r - stat_function 中的 dlnorm 不正确

r - 如何使 ggplot 图例水平添加对象(相对于垂直)

flutter - Flutter:如何使以下图像小部件在堆栈中起作用

linux - 从 CRAN Ubuntu 存储库安装 R : No Public Key Error

r - 使用 R 获取文本文件中的行数

r - 使用 ggplot2 调整 x 标签和图表之间的距离

ios - iOS:如何知道GMSMapView的缩放级别

flutter - Flutter:如何使用matrix_gesture_detector设置最大/最小刻度