R 在ggplot2中将堆叠图表更改为交错
我正在努力将ggplot2中的堆叠图表更改为交错图表。到目前为止,这是我创造的。我试图说明三种不同类型的药物中有多少是杀死16种不同类型细菌所必需的。我觉得如果我能把每种细菌的条形图放在一起,而不是叠在一起,图表就会清晰得多。 这是我到目前为止使用的代码。我试过使用位置闪避,但没有效果R 在ggplot2中将堆叠图表更改为交错,r,ggplot2,R,Ggplot2,我正在努力将ggplot2中的堆叠图表更改为交错图表。到目前为止,这是我创造的。我试图说明三种不同类型的药物中有多少是杀死16种不同类型细菌所必需的。我觉得如果我能把每种细菌的条形图放在一起,而不是叠在一起,图表就会清晰得多。 这是我到目前为止使用的代码。我试过使用位置闪避,但没有效果 p2b <- ggplot() + geom_bar(data=p2, aes(x=p2$bacteria, y=p2$penicillin, fill='transparent'),
p2b <- ggplot() +
geom_bar(data=p2, aes(x=p2$bacteria, y=p2$penicillin, fill='transparent'),
position="dodge", colour = "blue", fill="transparent", stat = "identity") +
geom_bar(data=p2, aes(x=p2$bacteria, y=p2$streptomycin, position="dodge"),
colour = "red", fill = "transparent", stat = "identity") +
geom_bar(data=p2, aes(x=p2$bacteria, y=p2$neomycin, position="dodge"),
colour = "green", fill = "transparent", stat = "identity") +
scale_y_log10() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
p2b您能提供一个我们可以运行您的代码的数据样本吗?例如,要提供数据的前十行,请发布dput(p2[1:10,])
的输出,但您应该提供数据框中的最小行集,以说明您试图解决的问题。对于初学者,在aes
中,您应该只引用列名称,而不是数据框(例如,x=bacteria
而不是x=p2$bacteria
)。data=p2
参数负责将数据帧传递到geom\u bar
。其次,您应该将数据放入“long”中格式设置为只需一次调用geom_bar
,而不是三次调用。如果您发布数据示例,说明会更容易。eipi10,非常感谢您的帮助回复。我根据您的建议创建了我想要的内容:)我专门将数据更改为长格式,然后只引用列名(我是R新手,所以清理代码的技巧非常有用!)