Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在ggplot2中将堆叠图表更改为交错_R_Ggplot2 - Fatal编程技术网

R 在ggplot2中将堆叠图表更改为交错

R 在ggplot2中将堆叠图表更改为交错,r,ggplot2,R,Ggplot2,我正在努力将ggplot2中的堆叠图表更改为交错图表。到目前为止,这是我创造的。我试图说明三种不同类型的药物中有多少是杀死16种不同类型细菌所必需的。我觉得如果我能把每种细菌的条形图放在一起,而不是叠在一起,图表就会清晰得多。 这是我到目前为止使用的代码。我试过使用位置闪避,但没有效果 p2b <- ggplot() + geom_bar(data=p2, aes(x=p2$bacteria, y=p2$penicillin, fill='transparent'),

我正在努力将ggplot2中的堆叠图表更改为交错图表。到目前为止,这是我创造的。我试图说明三种不同类型的药物中有多少是杀死16种不同类型细菌所必需的。我觉得如果我能把每种细菌的条形图放在一起,而不是叠在一起,图表就会清晰得多。 这是我到目前为止使用的代码。我试过使用位置闪避,但没有效果

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新手,所以清理代码的技巧非常有用!)