Это то, что вы ищете?
ggplot(M3,
aes(
x = TotalSA,
y = T03SA,
color = FragSite.x,
linetype = interaction(ParentSite.x, FragSite.x)
)) +
geom_smooth(
method = "lm",
formula = y ~ x,
se = FALSE,
fullrange =
TRUE
) +
scale_linetype_manual(values = c(1, 2, 2, 1)) +
scale_color_manual(values =
c("Inner Bay" = "coral2", "Outer Bay" = "skyblue4"))
Чтобы получить вывод как:
![enter image description here](https://i.stack.imgur.com/FxgbW.png)
Это было сделано с использованием набора данных ниже, так как в некоторых значениях в исходном выводе dput
выше были разрывы строк:
structure(list(FragID = c("1004", "1006", "1015", "1038", "1087",
"1089", "1107", "1116"), ParentID = c("166", "166", "166", "166",
"144", "144", "144", "144"), ParentSite.x = c("Inner Bay", "Inner Bay",
"Inner Bay", "Inner Bay", "Outer Bay", "Outer Bay", "Outer Bay",
"Outer Bay"), FragSite.x = c("Inner Bay", "Outer Bay", "Inner Bay",
"Outer Bay", "Inner Bay", "Inner Bay", "Outer Bay", "Outer Bay"
), TotalSA = c(0.0171970755726674, 0.0338197513082082, 0.0215722601402604,
0.030712272182997, 0.027529366126288, 0.029650482611575, 0.0316984120058258,
0.0356299659679559), T03SA = c(0.000709604810935872, 0.00148788795124323,
0.00109901406229665, 0.000966259734683879, 0.000701528253168926,
0.000828107993427705, 0.00079488114602085, 0.000904344998291552
)), class = "data.frame", row.names = c(2L, 3L, 5L, 9L, 21L,
22L, 28L, 29L))
Редактировать: Для комбинированной легенды может быть проще всего просто вручную назначить цвета в дополнение к типам линий:
ggplot(M3,
aes(
x = TotalSA,
y = T03SA,
color = interaction(ParentSite.x, FragSite.x),
linetype = interaction(ParentSite.x, FragSite.x)
)) +
geom_smooth(
method = "lm",
formula = y ~ x,
se = FALSE,
fullrange =
TRUE
) +
scale_linetype_manual(name = "Combination", values = c(1, 2, 2, 1)) +
scale_color_manual(name = "Combination", values = c("coral2", "coral2", "skyblue4", "skyblue4"))
Выход:
![enter image description here](https://i.stack.imgur.com/KtRrM.png)
В качестве альтернативы вам может быть проще создать переменную взаимодействия, как это предлагается в некоторых других ответах здесь.