#graph #colors #yaxis
#График #Цвет #yaxis
Вопрос:
У меня есть график, который сочетает в себе гистограмму и связанную диаграмму рассеяния, сгруппированную по временным рамкам. Я уже использовал функцию scale_fill_manual для управления цветом гистограммы. R использует цвета по умолчанию для температурных линий над гистограммой. Я попытался снова использовать scale_fill_manual, но это не сработало, и, похоже, я не могу назначить цвета в моей функции case_when. Могу ли я каким-либо образом изменить их (я бы хотел, чтобы они были желтыми, оранжевыми и красными, чтобы показывать повышение температуры с течением времени). Спасибо!
am_graph <- ggplot((am), aes(x=factor(Month,levels=month.abb)))
geom_col(aes(y = Precipitation, group = Timeframe, fill = Timeframe), width = .7, position = "dodge")
geom_line(aes(y = Mean_Temperature*10, group = Timeframe, col = case_when(
Timeframe == "1970-2000" ~ "1970-2000",
Timeframe== 2018 ~ "2018",
TRUE ~ "2041-2060")))
geom_point(size = 0.25, aes(y = Mean_Temperature*10, group = Timeframe))
scale_color_discrete(name = "Timeframe")
ggtitle("Alto Mayo Monthly Climate Conditions (1970-2060)")
xlab("Month")
ylab("Precipitation (mm)")
scale_y_continuous(breaks = seq(0, 220, by = 20), limit = c(0, 220), expand = c(0, 0), sec.axis = sec_axis(~./10, name = "Temperature (°C)"))
scale_fill_manual(values = c("lightblue2", "steelblue2", "royalblue1"))
theme_classic()
Ответ №1:
Заставил это работать для всех, кому интересно!
am_graph <- ggplot((am), aes(x=factor(Month,levels=month.abb)))
geom_col(aes(y = Precipitation, group = Timeframe, fill = Timeframe), width = .7, position = "dodge")
geom_line(size = 0.5, aes(y = Mean_Temperature*10, group = Timeframe, col = case_when(
Timeframe == "1970-2000" ~ "1970-2000",
Timeframe== 2018 ~ "2018",
TRUE ~ "2041-2060")))
geom_point(size = 0.5, aes(y = Mean_Temperature*10, group = Timeframe))
ggtitle("Alto Mayo Monthly Climate Conditions (1970-2060)")
xlab("Month")
ylab("Precipitation (mm)")
scale_y_continuous(breaks = seq(0, 220, by = 20), limit = c(0, 220), expand = c(0, 0), sec.axis = sec_axis(~./10, name = "Temperature (°C)"))
scale_fill_manual(name = "Precipitation", values = c("lightblue2", "steelblue2", "royalblue1"))
scale_color_manual(values = c("lightgoldenrod2", "darkorange2", "tomato3"))
guides(col = guide_legend("Temperature"))
theme_classic()