#r #ggplot2
#r #ggplot2
Вопрос:
Я хочу наложить линию и гистограмму. Сложность в том, что бары должны начинаться не с 0, а с линии. До сих пор я пытался
valuation lt;- c(100, 105, 120) deposit lt;- c(0, 10, -15) date lt;- as.Date(c('2010-11-1','2010-11-2','2010-11-3')) df lt;- data.frame( valuation, deposit, date)ggplot(df) geom_line(aes(x=date, y=valuation, group=1)) geom_col(aes(x=date, y=deposit, fill=sign)) scale_fill_manual(values = c("positive"="green","negative"="red"))
Это приводит к следующему результату: https://i.ibb.co/pyT3bk2/1.png (извините, мне нужно 10 репутации для публикации изображений)
Мне нужно, чтобы положительные значения начинались в одной и той же точке линии и шли вверх, а отрицательные значения также начинались по линии, но шли вниз: https://i.ibb.co/gZBsXnp/2.png
Вы знаете, возможно ли это?? Большое спасибо!!
Комментарии:
1. что такое группа=1?
Ответ №1:
Вместо geom_col
этого я бы рекомендовал использовать geom_rect
здесь:
ggplot(df) geom_rect(aes(xmin=date-.4, xmax=date .4, ymin=valuation, ymax=valuation deposit, fill=ifelse(depositgt;0, "positive", "negative"))) geom_line(aes(x=date, y=valuation)) ylim(0, 120) scale_fill_manual(values = c("positive"="green","negative"="red"), name = "sign")
Комментарии:
1. дасссссссссссссссссссс это работает отлично. Большое спасибо, Витсе!!!