Я пытаюсь создать простой график geom_point с использованием ggplot2, но я не могу получить легенду. У меня есть два кадра данных, которые я рисую на разных длинах (~ 2000 строк против ~ 6000 строк).R, ggplot2 добавить легенду с различными кадрами данных (разных размеров)
Я попытался добавить такие вещи, как 'scale_shape_manual (values = c (21, 23)', чтобы это всплыло, но это не сработало. Я также попытался добавить 'shape = 21' в aes и 'shape = 23' в ОПЗ за свои звонки geom_point, но я получил ошибку „ошибку:.! Непрерывное значение поставляется в дискретную шкалу“ Спасибо за любую помощь Смотрите пример код ниже:
x1 = c(0, 1, 2, 3, 4)
y1 = c(0.44, 0.64, 0.77, 0.86, 0.91)
x2 = c(0, 1)
y2 = c(0.42, 0.61)
df1 = data.frame(x1, y1)
df2 = data.frame(x2, y2)
g<- ggplot(df1, aes(x = (df1[,1]), y = (df1[,2]*100))) +
geom_point(colour = 'black', size = 5, fill = 'blue', shape = 21) +
geom_point(data = df2, aes(x = df2[,1], y = (df2[,2]*100)),
colour = 'black', size = 4, fill = 'white', shape = 23) +
xlab("Consecutive Dry Years") + ylab("Percent") + ggtitle("Plot") +
scale_y_continuous(limits=c(0, 100)) +
scale_x_continuous(breaks=0:20) +
scale_shape_manual(values=c(21, 23),
name="My Legend",
labels=c("Simulated", "Historical")) +
# scale_fill_manual(values=c('blue', 'white'),
# name="My Legend",
# labels=c("Simulated", "Historical")) +
# scale_colour_manual(values=c('black', 'black'),
# name="My Legend",
# labels=c("Simulated", "Historical")) +
theme_bw()
g
какие проблемы вы с? .... ваши работает код и производит хороший сюжет – pcantalupo
сюжет не дает легенды. Я не могу понять, как заставить легенду появиться. – bski
вы делаете все это неправильно. Для появления легенды должна быть категориальная переменная, которая отличается вашими данными. два кадра данных точно похожи друг на друга, потому что вы просто рисуете точки. –