我对R完全不熟悉,只是放弃了edX的介绍。不幸的是,它没有教导任何关于ggplot2的内容,我想在论文中使用我的图表。我希望获得100%不同颜色的条形图,如果可能的话,可以在相应条形图中获得值。我的数据如下:
Concentration,Percentage,Phenotype
Control,0.933333333,0
Control,0.014814815,1
Control,0.022222222,2
Control,0.02962963,3
0.002,0.918181818,0
0.002,0.018181818,1
0.002,0.018181818,2
0.002,0.045454545,3
0.02,0.930434783,0
0.02,0.017391304,1
0.02,0.017391304,2
0.02,0.034782609,3
0.2,0.928571429,0
0.2,0.032467532,1
0.2,0.012987013,2
0.2,0.025974026,3
2,0.859813084,0
2,0.028037383,1
2,0.046728972,2
2,0.065420561,3
我使用的代码是:
ggplot(Inj, aes(x=Concentration, y=Percentage, fill=Phenotype))+geom_bar(stat='identity',color='black')
结果图如下所示:
如何更改不同条形的颜色并在条形图中获得%-values?
感谢您的帮助
答案 0 :(得分:1)
您可以通过将填充变量设为一个因子来控制颜色。然后你可以像这样手动调整颜色
ggplot(Inj, aes(x=Concentration, y=Percentage, fill=factor(Phenotype)))+geom_bar(stat='identity',color='black') +
scale_fill_manual(values=c("red", "blue", "yellow", "pink"))
我不建议将值放在颜色上,因为它们对于非常小的值是不可见的。我会用另一种方式来显示数据。
答案 1 :(得分:0)
您可以使用scale_x_discrete
手动重新排序因子,如下所示:
ggplot(Inj, aes(x=Concentration, y=Percentage, fill=Phenotype)) +
geom_bar(stat='identity',color='black') +
scale_fill_grey(start = .4, end = .9) +
theme_bw()+ylab("Distribution") +
xlab("Contentration [mg/ml]") +
ggtitle("Dose-respond analysis") +
theme(legend.title = element_text(colour="black", size=10, face="bold")) +
theme(legend.background = element_rect(fill="white",
size=0.5, linetype="solid",
colour ="black")) +
scale_x_discrete(limits=c('Control','0.002', '0.02', '0.2', '2'),
labels=c('Control\n(N=000)',
'0.002\n(N=000)',
'0.02\n(N=000)',
'0.2\n(N=000)',
'2\n(N=000)'))
我在下面的评论中将labels
部分添加到scale_x_discrete
以回答您的问题。您只需要更新N值。请注意,我在每个标签中放置了\n
,以便将标签文本强制为两行,这样就不会混淆。如果您希望将\n
放在一行,请将其删除。