Я пытаюсь создать карту США, заполненную уровнем тепла от заболеваний гриппом.Я не мог заполнить каждое состояние цветом, даже если я изменил «цвет» на «заполнить». (На самом деле он заполняется, но я не могу найти решение, чтобы изменить текст легенды, поэтому я решил пойти на"цвет", так как это позволило бы ручной текст легенды).Ниже приведен код:
library(ggplot2)
library(maps)
# Get all states data
all_states <- map_data("state")
# Clean the data
subHeat <- subset(q4_heatMap, WEEK=="4")
region <- tolower(subHeat$STATENAME)
stateHeat <- subHeat$ACTIVITY.LEVEL
stateHeat <- gsub('Level ', '', stateHeat)
usHeat <- data.frame(region,stateHeat)
# Merge two set of dataframes
heatTotal <- merge(all_states, usHeat,by="region")
# heatColor
heatColor <- c("peru", "hotpink", "orchid",
"mediumpurple", "deepskyblue", "cyan3","mediumseagreen",
"limegreen","darkkhaki","salmon")
# Generate plot
usHeatMap <- ggplot(data = heatTotal) +
geom_polygon(aes(x = long, y = lat, color = heatTotal$stateHeat, group = group)) +
coord_fixed(1.3) +
labs(title = "2018-19 Influenza Season Week 4",
x = "Longitude", y="Latitude", color="Heat level") +
scale_color_manual(labels=c("Extreme High","Middle High","Low High",
"Moderate","Low Moderate","Higher Low","Low",
"Minimal","Very Minimal","Extreme Minimal")
,values = heatColor)
Генерируемый выход:
Редактировать
Оказалось, что это былнесоответствие цвета и заливки, после выполнения коррекции Jack Brookes цвета работали правильно.Но теперь я не мог изменить текст в легенде ...
Как следует: