У меня есть данные о минимальной и максимальной температуре, которые я хочу раскрасить правильно.Использование одной цветовой шкалы для двух линий в R с ggplot2
Данные выглядит следующим образом
MESS_DATUM LUFTTEMPERATUR_MAXIMUM LUFTTEMPERATUR_MINIMUM
20050719 22.1 16.5
20050720 22.8 12.8
20050721 22.6 12.0
20050722 19.1 13.8
20050723 21.9 12.8
20050724 24.8 11.4
20050725 25.8 16.9
20050726 24.7 16.3
20050727 31.6 17.0
20050728 34.5 19.2
20050729 27.3 18.2
20050730 25.5 13.4
20050731 24.5 11.5
20050801 24.4 12.5
20050802 22.1 14.6
20050803 24.9 15.2
20050804 23.4 11.3
20050805 23.4 9.1
20050806 21.0 12.0
20050807 19.2 9.8
20050808 19.2 10.8
20050809 21.0 11.2
20050810 20.2 10.2
Эти две линии получают Seperate цвета спектрами, но я хочу тот же спектр, используемый для обеих линий. Это код, который я использовал для этого.
p2<-ggplot(dataByYear) +
geom_line(aes(x = MESS_DATUM,y = LUFTTEMPERATUR_MINIMUM, colour = LUFTTEMPERATUR_MINIMUM)) +
geom_smooth(aes(x = MESS_DATUM,y = LUFTTEMPERATUR_MINIMUM), color = "blue",size = 0.5) +
geom_line(aes(x = MESS_DATUM,y = LUFTTEMPERATUR_MAXIMUM, colour = LUFTTEMPERATUR_MINIMUM)) +
geom_smooth(aes(x = MESS_DATUM,y = LUFTTEMPERATUR_MAXIMUM), color = "red",size = 1) +
scale_colour_gradient2(low = "blue", mid = "green" , high = "red", midpoint = 10) +
scale_y_continuous(limits = c(-10,40), breaks = seq(-10,40,5)) +
ggtitle ("Daily average temperature") +
xlab("Date") + ylab ("Average Temperature (ºC)")
Похоже, что этот
Как вы можете видеть цвет не является уникальным для определенной температуры. Он может быть красным в нижней строке для значений больше 15 ° C, но все же зеленый для той же температуры в верхней строке.
Мне нужна цветовая гамма, которая используется для обеих линий одинаково. Есть ли у кого-нибудь идеи, как это сделать?
Заранее спасибо.
Это просто дикая догадка, но, возможно, проблема заключается в том, что вы используете два geom_line вызовов. Какова структура вашего 'dataByYear'? Некоторые изменения данных должны позволить вам использовать один вызов geom_line. – zelite
Возможно, но я хотел бы сохранить две строки, если это возможно, поскольку они являются независимыми данными. –
Не могли бы вы объяснить, как данные необходимо реструктурировать? –