#r #ggplot2 #plot #legend
Вопрос:
Я искал идеи для создания легенд в ggplot, но все решения предлагают только легенды, которые разделяют данные одного столбца в фрейме данных на разные группы по цвету и имени с помощью group = «имя столбца». Это глава данного фрейма данных:
ewmSlots | Значения EWM | Значения EWM2 | Значения EWM3 |
---|---|---|---|
1 | 0.7785078 | 0.7785078 | 0 |
2 | 0.7198410 | 0.7491744 | 0 |
3 | 0.7333798 | 0.7412771 | 0 |
4 | 0.9102729 | 0.8257750 | 0 |
5 | 0.7243151 | 0.7750450 | 0 |
6 | 0.8706777 | 0.8228614 | 0 |
Теперь мне нужна легенда, которая показывает значения EWM, значения EWM2 и значения EWM3 в их соответствующих названиях и цветах.
Чтобы привести простой пример, другие решения, которые я нашел, разрешили бы что-то подобное
время | Секс |
---|---|
обед | Мужской |
обед | Женский |
обед | Мужской |
обед | Женский |
где легенда будет показывать секс и цвета каждого пола, что, очевидно, не является проблемой, которую я хочу здесь затронуть.
Комментарии:
1. это может помочь показать пример выходного графика, который вы хотите
Ответ №1:
Как насчет простого плавления данных (давайте назовем ваш приведенный выше пример фреймом данных по имени ewm
)?
# With melt ggplot(melt(ewm, id.vars = "ewmSlots"), aes(ewmSlots, value, color=variable, stat='identity')) geom_line(size=1.4) labs(color="")
Если вы против плавления, то ниже приведено то же самое:
# Without melt ggplot(ewm, aes(ewmSlots)) geom_line(aes(y=ewmValues, color="ewmValues"), size=1.4) geom_line(aes(y=ewmValues2, color="ewmValues2"), size=1.4) geom_line(aes(y=ewmValues3, color="ewmValues3"), size=1.4) labs(color="", y="value")
Комментарии:
1. Как я могу изменить цвета, заданные линии? ggplot автоматически назначает цвета каждой из трех строк.