Я создал сюжет гладких выровненных кривых некоторых данных вместе с соответствующими точками данных с помощью следующего кода в rstudio:Создание легенды в R при использовании ggplot(), geom_smooth
#begin code
library(ggplot2)
ggplot(mydata, aes(x,y)) + geom_point() + geom_smooth()
p <- ggplot() +
# blue plot
geom_point(data=mydata, aes(x,y)) +
geom_smooth(data=mydata, aes(x,y),fill="blue",
colour ="darkblue", size=1) +
# red plot
geom_point(data=mydata, aes(x,y2)) +
geom_smooth(data=mydata, aes(x,y2), fill="darkred",
colour="red", size=1)
p + xlab('Density') + ylab("Potential Energy (MeV)")
#endcode
Где подают данные в виде x, y, y2 в трех столбцах.
Я могу заставить графики работать только найти, но я не могу понять, как добавить легенду. Собственная функция legend()
не работает, и любая попытка использовать theme()
или scale_colour_manual()
просто возвращает графики без изменений. Как добавить легенду или графику, чтобы различать красные и синие кривые?
пожалуйста обеспечивает воспроизводимый пример –
Вы не используете ggplot в том, что она предназначена. Весы должны добавляться автоматически, если вы правильно формируете свои данные. Затем вы можете использовать scale_color_blah для изменения масштабов. Попробуйте что-нибудь в этом направлении. Вам нужно создать новый data.frame, который складывает два столбца y сверху друг на друга, а затем создает индикатор (в данном случае var), для y и y2. 'mydata = data.frame (x = c (mydata $ x, mydata $ x), y = c (mydata $ y, mydata $ 2), var = c (rep (0, LENGTH OF Y), rep (1, LENGTH из Y2))); ggplot (data = iris, aes (x = x, y = y, color = var)) + geom_point() + geom_smooth() ' – Vlo