2011-01-01 6 views
1

Ich versuche, die bar_geom Funktion von ggplot2 zu verwenden, aber ich kann nicht verstehen, wie man es benutzt. Ich habe eine kleine Probe von meinem Code gemacht zu zeigen, was ich zu tun versucht:Hilfe zu verstehen, wie man ein Balkendiagramm mit ggplot2

library(ggplot2) 

# sample data 
sampleData = data.frame( 
v1=c('a','b','c','d','e', 'f','g', 'h', 'i','j'), 
v2=c(1:10)  
)  
sampleData$Names = data.frame(Names = paste(sampleData$v1, sampleData$v2, sep=""))  
sampleData$Values = c(1:10) 

# make plot 
x = sampleData$Values 
y = sampleData$Names 

qplot(  
    x, y, data = sampleData, 
    geom="bar" 
) 

I sampleData$Names sein auf der x-Achse meines Graph will, Markieren jede Bar und und sampleData$Values die Bar maßstab Höhe. Ich möchte, dass die Y-Achse als ein Bereich angegeben wird. Ich verstehe, dass ich nicht verstehe, wie ggplot2 funktioniert, da dieses kleine Beispiel nicht funktioniert, aber mein anderes Beispiel erzeugt ein Diagramm, aber ich kann keinen y-Bereich angeben, da es die Variablen als kategorisch betrachtet.

Antwort

2

qplot erwartet Spaltennamen innerhalb des Datenrahmens sampleData, und Ihr Code, wo Sie die 'Names' Spalte zu einem Datenrahmen festlegen, ist auch seltsam. Die folgende einfachere Version funktioniert:

sampleData = data.frame( 
v1=c('a','b','c','d','e', 'f','g', 'h', 'i','j'), 
v2=c(1:10)  
) 

sampleData = transform(sampleData, Names = paste(v1, v2, sep='')) 

qplot( Names, v2, data = sampleData, geom="bar" ) 

alt text

+0

Vielen Dank für Ihre Antwort - Ich bin immer noch unklar über einen Aspekt davon. Wenn ich Ylim = Bereich (1,20) setze, wird es nicht plotten. Warum passiert das? Ist es nicht möglich, den y-Bereich in diesem Fall zu setzen? – djq

+1

Die Balken beginnen bei 0 ... – hadley

+0

Ah! Na sicher. Vielen Dank. – djq

0

Eine weitere schnelle Handlung mit den gleichen Ergebnissen wie pchalasani bekam mit

qplot(v1, v2, geom = "bar", stat = "identity", data = sampleData) 

Achten Sie besonders auf das Argument stat.

Verwandte Themen