我正在尝试使用具有连续x轴的ggplot生成散点图,但两个点之间存在巨大的时间间隔。时间点是20,40,60,90,120,500,520。它们需要连续,因为我希望前5个值被缩放,但是我希望轴在120到500之间中断。我知道轴断裂的问题更普遍,(this SO question),但我的问题是指x轴而不是y轴。
示例数据;
EG.df <- data.frame(AGE = c(20, 20, 40, 40, 60, 60, 90, 90, 120, 120, 500, 500, 520, 520),
S1 = c(28, 30, 21, 15, 18, 19, 18, 21, 16, 17, 21, 21, 19, 13))
ggplot(EG.df, aes(x=AGE, y=S1)) +
geom_point(size=10)
我认为有可能使用plotrix包(? - 我从未使用过它),但我更喜欢使用ggplot。有什么建议吗?
答案 0 :(得分:1)
仅使用scope "(:locale)" do
get 'restaurant/list' => 'restaurant#list'
end
就可以快速实现这一目标。我只使用ggplot2
进行操作,所以不是真的需要。
我们首先将数据分解为您要绘制的部分。这可以使用数据自动完成,但在这里我手动设置剪切。关键是要创建两个组(分割前/后)。
现在因为你想要剪切的间隙中有一个数据点,我使用过滤器来显示该面。感觉不那么干净。
dplyr
现在,当我们绘制时,我们使用facet来创建差距。这意味着我们将有一个带切割标签的小面条。关键是使用EG.df <- EG.df %>%
mutate(cut = cut(AGE, breaks = c(0,120,500,600))) %>%
filter(cut != "(120,500]")
使x轴自动适应。
scales="free_x"
我保持原点的大小。您可以通过添加主题来删除条带。
ggplot(EG.df, aes(x=AGE, y=S1)) +
+ geom_point(size=10) + facet_grid(.~cut, scales="free_x")
您会注意到两个轴标签相互切割。我将把它作为练习让读者修理轴。