Цвет текста легенды не меняется

#r #plot #legend #textcolor #density-plot

#r #график #легенда #textcolor #плотность-график

Вопрос:

Я использовал этот код

 plot.ecdf(subset(d.pizza, area == "Camden")$delivery_min, 
          col = "red", main = "ECDF for pizza deliveries")
plot.ecdf(subset(d.pizza, area == "Westminster")$delivery_min, 
          add = TRUE, col = "blue")
plot.ecdf(subset(d.pizza, area == "Brent")$delivery_min, 
          add = TRUE, col = "green")
legend(x=50, y=0.4, legend=c("Camden", "Westiminster", "Brent"), col=c("red","blue","green") )
  

чтобы получить этот график:
введите описание изображения здесь

но, как вы видите, текст легенды не соответствует цветам, которые я написал в коде. Почему? Как я могу это исправить?

То же самое с этим кодом

 plot(density(subset(d.pizza, area == "Camden")$delivery_min), col="red", ylim=c(0,0.06)) 
  lines(density(subset([d.pizza, area == "Westminster")$delivery_min), col="blue") 
  lines(density(subset(d.pizza, area == "Brent")$delivery_min), col="green")
legend(x=50, y=0.05, legend=c("Camden", "Westiminster", "Brent"), col=c("red","blue","green") )
  

введите описание изображения здесь

Должно быть, происходит та же ошибка.. Заранее спасибо!

d.pizza id фрейм данных из пакета «DescTools»

Ответ №1:

Решение 1. используйте заливку вместо col

 legend(x=50, y=0.4, legend=c("Camden", "Westiminster", "Brent"), 
   fill=c("red","blue","green") )
  

Решение 2. используйте pch

 legend(x=50, y=0.4, legend=c("Camden", "Westiminster", "Brent"), 
   col=c("red","blue","green"), pch=16 )
  

Ответ №2:

Вам нужно добавить тип символа, который будет отображаться в легенде, чтобы его можно было раскрасить:

 legend(x=50, y=0.4, legend=c("Camden", "Westiminster", "Brent"), col=c("red","blue","green"), pch=1) #pch sets the type of point to be drawn