R ggplot2: легенда должна быть дискретной и не непрерывной

У меня есть следующие данные:

benchmark   mispredpenal    IPC     pred
ammp        1               1.0589  2lev
ammp        5               1.0450  2lev
...

и используйте следующую команду:

ggplot(IPC, aes(x = benchmark, y = IPC, group=mispredpenal, colour=mispredpenal)) + 
  geom_point() + geom_line()

Все выглядит так, как должно, но мне хотелось бы, чтобы легенда была дискретной, а не непрерывной (градиент). Как мне это сделать?

Edit: Misprediction - это 1, 5, 9, 13 или 17.

Ответ 1

Вы хотите, чтобы переменная mispredpenal была factor в этом случае:

ggplot(IPC, aes(x = benchmark, y = IPC, group=factor(mispredpenal), colour=factor(mispredpenal))) + 
  geom_point() + geom_line()