Я пытаюсь воспроизвести следующую легенду:
Я сделал это с помощью следующего воспроизводимого примера:
names <- c('Africa', 'Asia', 'Europe', 'North America', 'Oceania', 'South America')
linetypes <- c('1', '2', '3', '4', '5', '6')
ltypes <- c(1:6)
legend <- plot(NULL ,xaxt='n',yaxt='n',bty='n',ylab='',xlab='', xlim=0:1, ylim=0:1)
legend("topleft", title="Continent", legend = names, lty=ltypes, lwd=2, cex=1.25, bty='n')
legend
Создается следующая легенда:
Кажется, что типы линий не совпадают для Европы, Океании иЯ не уверен насчет Северной Америки и Южной Америки.
Как вы можете видеть в моем коде, я экспериментировал с
linetypes <- c('1', '2', '3', '4', '5', '6')
, lty=linetypes
безуспешно, и я также попытался:
linetypes <- c(1, 2, 3, 4, 5, 6)
, lty = linetypes
, который не работал. Есть что-то, что я пропускаю или неправильно заказываю?
Редактировать:
Я получил первую легенду с помощью команды ggplot со следующим кодом (к сожалению, я не могу сделать это воспроизводимым с данными):
maize2 <- read_csv("maize2.csv")
Maize_by_yearContinent = maize2 %>% group_by(Year,ContinentName) %>% summarise(avgMaizeYield = mean(Yield))
Maize_by_yearContinent[is.na(Maize_by_yearContinent)] <- 0
maizePlot = ggplot(Maize_by_yearContinent,aes(x=Year,y=avgMaizeYield,linetype = ContinentName)) + geom_line(size=1) + expand_limits(y=0) + ggtitle("Maize") + ylab(bquote('Average Yield ( '*'ton'~ ha^-1*')'))