Mit ggplot2 wie kann ich die plot-Punkte, die mit einem aes() nach dem Plotten Linien?

Ich bin mit ggplot2, um zu zeigen, Linien und Punkte auf einem Grundstück. Was ich versuche zu tun ist, um die Linien alle die gleiche Farbe, und dann zeigen die farbigen Punkte von einem Attribut. Mein code ist wie folgt:

# Data frame
dfDemo <- structure(list(Y = c(0.906231077471568, 0.569073561538186, 
0.0783433165521566, 0.724580209473378, 0.359136092118470, 0.871301974471722, 
0.400628333618918, 1.41778205350433, 0.932081770977729, 0.198188442350644
), X = c(0.208755495088456, 0.147750173706688, 0.0205864576474412, 
0.162635017485883, 0.118877260137735, 0.186538613831806, 0.137831912094464, 
0.293293029083812, 0.219247919537514, 0.0323148791663826), Z = c(11112951L, 
11713300L, 14331476L, 11539301L, 12233602L, 15764099L, 10191778L, 
12070774L, 11836422L, 15148685L)), .Names = c("Y", "X", "Z"
), row.names = c(NA, 10L), class = "data.frame")

# Variables
X = array(0.1,100)
Y = seq(length=100, from=0, by=0.01)

# make data frame
dfAll <- data.frame()

# make data frames using loop
for (x in c(1:10)){

    # spacemate calc
    Floors = array(x,100)

    # include label
    Label = paste(' ', toString(x), sep="") 
    df1 <- data.frame(X = X * x, Y = Y, Label)

    # merge df1 to cumulative df, dfAll
    dfAll <- rbind(dfAll, df1)

}

# plot 
pl <- ggplot(dfAll, aes(x = X, y = Y, group = Label, colour = 'Measures')) + geom_line() 

# add  points to plot
pl + geom_point(data=dfDemo, aes(x = X, y = Y)) + opts(legend.position = "none")

Diese fast funktioniert, aber ich bin nicht in der Lage, um die Farbe der Punkte von Z wenn ich dies tun. Ich kann Plotten die Punkte getrennt, gefärbt durch Z mit dem folgenden code:

ggplot(dfDemo, aes(x = X, y = Y, colour = Z)) + geom_point()

Allerdings, wenn ich die ähnlichen code nach dem zeichnen der Linien:

pl + geom_point(data=dfDemo, aes(x = X, y = Y, colour = Z)) + opts(legend.position = "none")

Bekomme ich die folgende Fehlermeldung:

Error: Continuous variable () supplied to discrete scale_hue.

Ich verstehe nicht, wie Sie die Punkte auf der Karte, so dass ich Farbe Sie, indem Sie einen Wert ein. Ich freue mich über jeden Vorschlag, wie dieses Problem zu lösen.

InformationsquelleAutor djq | 2011-06-28

Schreibe einen Kommentar