在ggplot2

时间:2015-08-26 15:56:33

标签: r ggplot2

我正在ggplot2使用stat_contour创建一系列等高线图。我注意到,当我的z值在整个数据集中的范围非常小时,我的绘图将缺少部分数据。这是一个例子:

library(ggplot2)

data <- data.frame(R = rep(1:16, 2), C = c(rep(1, 16), rep(2, 16)),
                   V = c(25.00750, 25.00700, 25.00646, 25.00585, 25.00518,
                         25.00444, 25.00362, 25.00272, 25.00171, 25.00061,
                         24.99938, 24.99802, 24.99652, 24.99486, 24.99303,
                         24.99100, 25.00749, 25.00700, 25.00646, 25.00585,
                         25.00518, 25.00444, 25.00362, 25.00272, 25.00171,
                         25.00060, 24.99938, 24.99802, 24.99652, 24.99486,
                         24.99302, 24.99099))

ggplot(data, aes(x = C, y = R, z = V)) + stat_contour(aes(color = ..level..))

这导致以下情节:

Full plot

我的y轴从(大致)四个而不是一个开始,就像我期望的那样基于我的数据。 ggplot2肯定能够描述这些数据:

data <- subset(data, R < 4)
ggplot(data, aes(x = C, y = R, z = V)) + stat_contour(aes(color = ..level..))

Subset plot

我并不关心实际的轮廓;我知道,对于数据范围,完全有可能在这样的图表中,基于自动计算的箱宽度,整个缺失区域将是空白的。我的问题是,当它们都有不同比例的轴时,很难比较这些图的多个版本。

我知道我可以将轴强制到一定的范围,这肯定会解决我的问题。我只是想了解ggplot2在这种情况下的行为以及为什么决定抛弃这些数据。

0 个答案:

没有答案