如果在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)
最佳答案
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/