постройте контурную линию с заданным значением с помощью ggplot2 [duplicate]

Это довольно просто, просто прочитайте документацию об этом.

См. ниже, что возвращает этот метод.

Возвращаемое значение

Число миллисекунд между 1 января 1970 года 00:00:00 UTC и обновленная дата.

blockquote>

1
задан ssp3nc3r 19 May 2017 в 01:18
поделиться

2 ответа

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 =.

3
ответ дан Brian 20 August 2018 в 11:07
поделиться
  • 1
    Который после игры с этим я вижу, что это все еще настоящие перерывы, если вы не вызываете breaks = 0.05*0:10. Не уверен, почему это не сработало, не указав их. – Brian 19 May 2017 в 01:30
  • 2
    Благодарю. Это почти то, что мне нужно, за исключением того, что мне все же нужно иметь возможность маркировать контуры. Когда я пытаюсь использовать ваше предложение, я не могу заставить его работать с direct.labels. – ssp3nc3r 19 May 2017 в 01:42
  • 3
    Я попытался использовать этот пакет один раз и не имел с ним никакой удачи, поэтому я боюсь, что не могу устранить эту проблему. – Brian 19 May 2017 в 03:24

Я закончил наложение двух 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))
2
ответ дан ssp3nc3r 20 August 2018 в 11:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: