Добавление меток в гистограмму ggplot
Я хотел бы сделать штриховку, очерченную черным, с процентами внутри баров. Возможно ли это из qplot? Я получаю проценты, но они не совпадают с конкретными барами.
: ggplot2, reshape
![created in Illustrator]()
x <- data.frame(filename = c("file1", "file2", "file3", "file4"),
low = c(-.05,.06,.07,-.14),
hi = c(.87,.98,.56,.79))
x$tot <- x$hi + x$low
x <- melt(x, id = 'filename')
bar <- qplot(x = factor(filename),
y = value*100,
fill = factor(variable),
data = x,
geom = 'bar',
position = 'dodge') + coord_flip()
bar <- bar + scale_fill_manual(name = '',
labels = c('low',
'Hi',
"Tot"),
values = c('#40E0D0',
'#FF6347',
"#C7C7C7"))
bar <- bar + geom_text(aes(label = value*100))+geom_bar(colour = 'black')
bar <- bar + opts(panel.background = theme_rect(colour = NA))
bar <- bar + opts(legend.justification = 'bottom')
print(bar)
Ответы
Ответ 1
Здесь вы идете:
library(scales)
ggplot(x, aes(x = filename, fill = variable)) +
geom_bar(stat="identity", ymin=0, aes(y=value, ymax=value), position="dodge") +
geom_text(aes(x=filename, y=value, ymax=value, label=value,
hjust=ifelse(sign(value)>0, 1, 0)),
position = position_dodge(width=1)) +
scale_y_continuous(labels = percent_format()) +
coord_flip()
![enter image description here]()
Ответ 2
Это будет хорошей возможностью для вас отказаться от использования qplot
, в пользу ggplot
. Это будет намного проще в долгосрочной перспективе, поверьте мне.
Здесь начинается:
library(scales)
ggplot(data = x,aes(x = factor(filename),y = value)) +
geom_bar(aes(fill = factor(variable)),colour = "black",position = 'dodge') +
coord_flip() +
scale_fill_manual(name = '',
labels = c('low',
'Hi',
"Tot"),
values = c('#40E0D0',
'#FF6347',
"#C7C7C7")) +
scale_y_continuous(labels = percent_format())
По философским соображениям я оставлю вам часть аннотации...