Управление цветом границы точек данных на линейном графике в R

У меня проблемы с управлением цветом точек данных на линейной диаграмме в R. У меня есть следующий код:

Pareto <- read.table("ParetoFront.csv",header=TRUE,sep=";")
dfP <- data.frame(Pareto$n,Pareto$z)

plot(dfP$Pareto_n,dfP$Pareto_z,xlim=c(1,max(dfP$Pareto.n)),
  ylim=c(min(dfP$Pareto.z),max(dfP$Pareto.z)),xlab="n",ylab="z(n)",type="n")

lines(dfP$Pareto.n,dfPPareto.z,type="o",lwd=2,col="blue",pch=23,bg="red")

Этот код создает диаграмму с синей линией и точками данных, заполненными красным. Мне бы тоже хотелось, чтобы цвет границы точек данных был красным, но я не могу понять, как установить этот параметр pch. Я пытался построить график без type="n" параметр, чтобы я мог контролировать цвет точек в plot функция (а не в lines) но когда я запускаю следующий код

Pareto <- read.table("ParetoFront.csv",header=TRUE,sep=";")
dfP <- data.frame(Pareto$n,Pareto$z)

plot(dfP$Pareto_n,dfP$Pareto_z,xlim=c(1,max(dfP$Pareto.n)),
  ylim=c(min(dfP$Pareto.z),max(dfP$Pareto.z)),xlab="n",ylab="z(n)",
  pch=23,col="red",bg="red")

Я получаю пустой график: нет точек данных вообще. Я не понимаю, что не так в моем втором фрагменте кода, и я хотел бы знать, есть ли другой способ управления цветом границ в точечной диаграмме.

Спасибо за помощь.

1 ответ

Решение

Пример использования некоторых составных данных:

dfP <- data.frame(Pareto_n=1:10,Pareto_z=1:10)

Теперь нарисуйте линию с lines, а затем добавьте точки поверх points:

plot(dfP$Pareto_n,dfP$Pareto_z,xlim=c(1,max(dfP$Pareto_n)),
  ylim=c(min(dfP$Pareto_z),max(dfP$Pareto_z)),xlab="n",ylab="z(n)",type="n")

lines(dfP$Pareto_n,dfP$Pareto_z,lwd=2,col="blue")
points(dfP$Pareto_n,dfP$Pareto_z,lwd=2,pch=23,col="red",bg="red")

Другие вопросы по тегам