Управление цветом границы точек данных на линейной диаграмме в 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")

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

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


person david    schedule 29.11.2013    source источник


Ответы (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")

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

person thelatemail    schedule 29.11.2013
comment
На самом деле я пробовал это, но у меня это не работает: все, что я получаю, это синяя линия без точек. Похоже, моя среда R больше не хочет отображать только точки. - person david; 29.11.2013
comment
Внимательно проверьте свой код - иногда у вас есть Pareto_n и Pareto.n. Это определенно работает, как вы можете видеть. - person thelatemail; 29.11.2013