Было бы легче увидеть, что идет не так, если вы опубликуете образец своих данных, чтобы мы могли взять ваш код ggplot и запустить его, чтобы увидеть, что происходит.
Однако, быстрая проверка ваших код обнаруживает некоторые проблемы. Вы сопоставляете свою переменную Probability
с четырьмя эстетиками: группой, цветом, типом линий и формой. Каждую из группы, цвета и типа линии необходимо сопоставить с другой переменной.
Вот минимальный пример. В этом примере у меня есть фиктивная переменная с именем group
, которая разделяет каждую строку. Я сопоставляю var1
цвету и var2
типу линии. Поскольку мои данные имеют только одну точку на комбинацию x, y, группы, цвета и типа линии, мне нужно установить stat = identity
, чтобы geom_line
знал, что это сделано намеренно.
df <- data.frame(x = factor(rep(1:4, 4)),
y = c(10, 15, 10, 15, 20, 25, 20, 25, 30, 35, 30, 35, 40, 45, 40, 45),
group = factor(c(rep(0, 4), rep(1, 4), rep(2, 4), rep(3, 4))),
var1 = factor(c(rep(0, 8), rep(1, 8))),
var2 = factor(c(rep(0, 4), rep(1, 4), rep(0, 4), rep(1, 4)))
)
ggplot(df) +
geom_line(aes(x, y, group = group, color = var1, linetype = var2), stat="identity")
Вот участок, который он производит.
линейный график с четырьмя линиями разного цвета и типа линий