Я пытаюсь создать барплот, в котором ширина и высота столбцов передают информацию: высота - это количество часов, потраченных на задачу, ширина соответственно указывает на воспринимаемую способность и важностьсвязано с задачей.Мне удалось создать это чудовище:
Это функционально, но ужасно.Мне бы очень хотелось разместить столбики рядом друг с другом (а не накладывать их друг на друга), чтобы каждое упражнение представлялось двумя касающимися столбиками одинаковой высоты (= затраченного времени), но разной ширины и цвета.Я пытался передать аргумент ширины на этот график:
, но установка 'aes (width = widthVariable)' дает мне перекрывающиеся полосы (аналогично первому изображению) и следующее предупреждающее сообщение:
"position_dodge требует непересекающихся интервалов x".
Есть ли способ сгруппировать мои бары по активности, отображать их рядом и варьировать их ширину?
Вот немного df, который я использую:
molten = data.frame(Activity = rep(c('Administration','Working with Colleagues','Use of Social Media','Leadership Role'),2),
variable = c(rep('Importance',4),rep('Competence',4)),
value = rep(c(3.02,1.71,2.39,3.32),2),
width = c(3.48,3.52,4.01,2.98,
3.85,2.34,4.87,3.81))
Второй сюжет таков:
ggplot(molten, aes(x=Activity, y=value, fill=variable)) + geom_bar(stat='identity',position = 'dodge')
, а первый примерно так:
ggplot(molten, aes(x=Activity, y=value, fill=variable)) + geom_bar(stat='identity',aes(width = width/10))
Хотя я на самом деле сделал это, используя несколько более простой dataframe, который я расплавил () - edв тот, что выше.