2016-09-15 4 views
0

У меня есть этот бар сюжетНабор ggplot2 этикетки цвет фона

group = c("A","A","B","B") 
value = c(25,-75,-40,-76) 
day = c(1,2,1,2) 
dat = data.frame(group = group , value = value, day = day) 
dat 
ggplot(data=dat, aes(x=factor(group), y=value, fill=factor(day))) + 
    geom_bar(stat="identity", position="dodge")+ 
    geom_label(aes(label =round(value,0),fill="white"), 
    colour = "black", position= position_dodge(width=1)) 

Я хотел бы Lables быть белым Backgroud с черным шрифтом, но когда я добавляю fill="white" сюжет неверен. На этикетках нет белого фона с черным шрифтом.

Извещение здесь без fill="white" участок выглядит хорошо. Я просто хочу, чтобы изменить фон этикетки и шрифт

group = c("A","A","B","B") 
value = c(25,-75,-40,-76) 
day = c(1,2,1,2) 
dat = data.frame(group = group , value = value, day = day) 

ggplot(data=dat, aes(x=factor(group), y=value, fill=factor(day))) + 
    geom_bar(stat="identity", position="dodge")+ 
    geom_label(aes(label =round(value,0)),colour = "black", 
    position= position_dodge(width=1)) 

ТАКЖЕ ПРИМЕЧАНИЕ

Если я перееду fill="white" вне aes() то метки не за решеткой, но сложены друг на друга. то есть он отрицает эффект position=position_dodge(width=1), и мне нужны этикетки над стержнями

Спасибо.

ответ

4

сделать два изменения:

  1. Перемещение fill = factor(day) в aes() в geom_bar
  2. Набор group = factor(day) в вашем geom_label

Как показано здесь:

ggplot(data=dat, aes(x=factor(group), y=value)) + 
    geom_bar(aes(fill = factor(day)), stat="identity", position="dodge")+ 
    geom_label(aes(label =round(value,0), group = factor(day)),colour = "black", position= position_dodge(width=1)) 

enter image description here

+0

Если я перемещаю fill = "white" за пределы aes, тогда метки не над решеткой, а сложены друг на друга. т.е. это отрицает эффект position = position_dodge (width = 1), и мне нужны метки над столбцами – user3022875

+0

@ user3022875 См. исправление (с № 2) –

+0

Спасибо ...... еще один вопрос --- как бы вы теперь измените фон и шрифт ..... скажем, вам нужен зеленый фон и синий шрифт. Я спрашиваю beacause, когда я добавляю fill = green int he geom_label (aes (... fill = "green")) Я получаю сообщение об ошибке ... Спасибо – user3022875

Смежные вопросы