我有一个情节,显示出随着时间的推移,改善的百分比。这个图有一些-inf值,因为它比0的初始值有所下降。如果可能的话,我想将这些值保留在图中,因为它们显示出有下降的趋势。
我试过贴标签:
... +
geom_text(data=subset(symptom_data, is.infinite(improvement) == TRUE),
aes(months, improvement, label="divide by 0"))除了is.infinite(improvement) == TRUE之外,我尝试了几个不同的条件,但是我总是遇到相同的错误:
错误:美学必须是长度1或与数据(1):x,y,颜色相同。
奇怪的是,如果我在条件中包含其他值,比如-inf值,它就会标记improvement < 5值。
有没有办法只给inf和-inf贴上标签
发布于 2019-08-19 18:44:13
关于get的一个巧妙之处是,美学映射中的代码在您提供的数据的上下文中得到评估。因此,您可以执行以下操作:
df <- iris
# Sprinkle some infinites around
df$Sepal.Width[sample(150, 10)] <- -Inf
df$Sepal.Length[sample(150, 10)] <- Inf
ggplot(df, aes(Sepal.Width, Sepal.Length)) +
geom_point(aes(
colour = ifelse(!is.finite(Sepal.Width) | !is.finite(Sepal.Length),
"Infinite point", as.character(Species))
))

唯一的缺点是,你可能会找到一个更漂亮的标题颜色传奇。
https://stackoverflow.com/questions/57561968
复制相似问题