Я использую ggplot2, чтобы показать линии и точки на графике.Я пытаюсь сделать так, чтобы линии были одного цвета, а затем показать точки, окрашенные атрибутом.Мой код выглядит следующим образом:
# 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")
Это почти работает, но я не могу закрасить точки на Z
, когда я делаю это.Я могу построить точки отдельно, закрашенные Z
, используя следующий код:
ggplot(dfDemo, aes(x = X, y = Y, colour = Z)) + geom_point()
Однако, если я использую аналогичный код после построения линий:
pl + geom_point(data=dfDemo, aes(x = X, y = Y, colour = Z)) + opts(legend.position = "none")
, я получаюследующая ошибка:
Error: Continuous variable () supplied to discrete scale_hue.
Я не понимаю, как добавить точки на диаграмму, чтобы я мог закрасить их значением.Я ценю любое предложение, как решить эту проблему.