пропорциональная ширина линии ggplot2, в диаграмме Ганта

Я стремлюсь отображать ширину линий, пропорциональную переменной в data.frame, тема, которая, например, обсуждалась здесь. Мое приложение (хотя проблема, вероятно, не связана с этим) находится на диаграмме Ганта адаптировано здесь как в:

library(reshape2)
library(ggplot2)

MA <- c("A", "B", "C")

dfr <- data.frame(
  name        = factor(MA, levels = MA),
  start.date  = as.Date(c("2012-09-01", "2013-01-01","2014-01-01")),
  end.date    = as.Date(c("2019-01-01", "2017-12-31","2019-06-30")),
  prozent     = c(1,0.5,0.75)*100
)
mdfr <- melt(dfr, measure.vars = c("start.date", "end.date"))

ggplot(mdfr, aes(value, name)) + geom_line(aes(size = prozent)) 

Это дает введите здесь описание изображения, где я получаю разную ширину линий, которая, однако, не выглядит пропорциональной prozent.

Есть ли способ сделать ширину линий пропорциональной prozent?


person Christoph Hanck    schedule 08.06.2017    source источник
comment
дает ли добавление + scale_size_area() то, что вам нужно?   -  person Nate    schedule 08.06.2017
comment
Да! Спасибо, и, пожалуйста, опубликуйте это как ответ.   -  person Christoph Hanck    schedule 08.06.2017


Ответы (1)


просто добавьте + scale_size_area():

ggplot(mdfr, aes(value, name)) +
    geom_line(aes(size = prozent)) +
    scale_size_area()

введите здесь описание изображения

person Nate    schedule 09.06.2017