Это довольно просто, просто прочитайте документацию об этом.
См. ниже, что возвращает этот метод.
Возвращаемое значение
Число миллисекунд между 1 января 1970 года 00:00:00 UTC и обновленная дата.
blockquote>
ggplot(faithfuld, aes(eruptions, waiting)) +
geom_contour(aes(z = density,
colour = factor(..level.. == 0.02,
levels = c(F, T),
labels = c("Others", "0.02"))),
breaks = 0.005*0:10) +
scale_colour_manual(values = c("black", "red")) +
labs(colour = "Of interest:")
Это довольно расширяемый способ сделать это. Все значения «FALSE» для ..level.. == 0.02
будут отображаться как черные, а «TRUE» - красным. Чтобы это правильно работало, мне нужно было установить разрывы в соответствии с точно 0,02 (и другие кратные 0,05), что и делает breaks =
.
Я закончил наложение двух geom_contour
в качестве решения, связанного с color = ..level..
, чтобы direct.label
работал, а другой выделял конкретный контур:
require(directlabels)
p <- ggplot(faithfuld, aes(eruptions, waiting)) +
geom_contour(aes(z = density, colour = ..level..)) +
scale_color_continuous(low = "black", high = "black") +
geom_contour(aes(z = density, colour = ..level..), breaks = .02, color = "red")
p <- direct.label(p, list("bottom.pieces", cex = .6))
breaks = 0.05*0:10
. Не уверен, почему это не сработало, не указав их. – Brian 19 May 2017 в 01:30