Я хочу построить 2 переменные из 3 различных кадров данных в одной диаграмме рассеяния, а также автоматически построить уравнения каждой линейной зависимости. Я использую следующий код. Однако у меня есть две проблемы: 1) Я получаю графики для тех же значений, а не для всего диапазона (например, df1 = 700 значений, df2 = 350 значений, df3 = 450 значений). Какова роль отказа от НС? потому что я пробовал это в обоих направлениях, и я все еще получаю один и тот же сюжет, и 2) я могу только добавить уравнения в виде текста, что означает запустить функцию lm, а затем добавить relationship вручную на графике. Мне нужно сделать это автоматически. Код, который я использую:Участок 3 или более переменных в одной диаграмме рассеяния с автоматическими уравнениями
ggplot(df1, aes(x=noxppb, y=OX, colour = "red")) +
geom_point(colour = "red", shape=2) + # Use hollow circles
geom_smooth(method=lm, se = FALSE) +
geom_point(data = df1, aes(x=noxppb, y=OX)) +
geom_point(colour = "blue", shape=3) +
geom_smooth(method = lm, se = F, colour = "blue", data = df2, aes(x=noxppb, y=OX)) +
geom_point(colour = "green", shape=4) +
geom_smooth(method = lm, se = F, colour = "green", data = df3, aes(x=noxppb, y=OX))
Я получаю следующее изображение: enter image description here
Однако я нужно что-то похожее на это: enter image description here
Благодаря
Вам нужно решение ggplot? –
вам не нужны слои 2xN для построения линий и точек из N разных цветов. – baptiste
добавьте столбец цветов к каждому из ваших данных, затем переместите их полностью и используйте этот новый столбец, чтобы сгруппировать их. 'dput' ваших данных. Чтобы сделать воспроизводимый пример. – HubertL