Ich versuche, eine ggplot spezifische Arbeit zu finden, so dass ich Balkenplots erzeugen kann, in denen alle Balken die gleiche Breite haben. Ich weiß, dass dies daran liegt, dass ich "fehlende Werte" habe und dass die Balkenbreite Seite an Seite über ein Leerzeichen hinausgeht. ABER ich arbeite mit sehr großen Datensätzen und benutze Umformen, um die Daten breit zu machen und dann Platzhalterwerte einzufügen, um Leerstellen zu entfernen, ist nicht etwas, was ich tun möchte.R, ggplot bar, alle Balken gleich breit?
Testdaten:
df<-data.frame(tax=c("type1","type1","type1","type1","type2","type2"),Gene=c("a","b","c","c","a","b"),logFC=c(-2,-4,2,1,3,-1))
ggplot Code, der mir eine extra breite bar für "c" gibt
bar<-ggplot(df, aes(x=Gene, order=Gene,y=logFC,fill=tax))+ geom_bar(stat="identity",position="dodge")
Irgendwelche Vorschläge, die mich nicht benötigen alle Werte in der Eingabe zu ändern df?
** Diese Frage ist kein Duplikat. Ich suche nach einer ALTERNATIVEN Lösung für das, was vorher gegeben wurde. Frühere Lösungen funktionieren nicht. Ich kann nicht einfach dcast (mit fill = 0) und schmelze meinen Datenrahmen (vertraue mir, ich habe das seit Wochen versucht). Ich bin auf der Suche nach einer ggplot spezifischen Antwort.
Ich denke, es wird die breite Leiste bleiben, weil C nur zweimal type1 hat und es nicht Typ 2 – aelwan
Dupes: [nicht Null zählen dodges bar plot] (http://stackoverflow.com/q/ 10326729/903061), [weichen Sie immer einem Histogramm aus] (http://stackoverflow.com/q/ 10149571/903061) usw. – Gregor
Wenn Sie die Frage lesen, verstehe ich, warum dies passiert, und ich habe gelesen, wie die anderen Duplikate beantwortet beantwortet werden. Ich suche eine Alternative. Frühere Lösungen funktionieren NICHT mit meinem Datenrahmen. Ich habe zu viele Variablen und meine Datensätze sind zu groß. – shu251