Графики с использованием r и точек (пч) - PullRequest
0 голосов
/ 18 января 2019

Что происходит с моим R-кодом? Я не хочу видеть гистограмму и хочу видеть только символы черчения (pch):

plot(Graphdata$Sites,ylim=c(-1,2.5), xlab="sites",
          ylab="density frequency",lwd=2)
points(Graphdata$A,pch=1,col="blue",lwd=2)
points(Graphdata$B,pch=2,col="green",lwd=2)
points(Graphdata$C,pch=3,col="red",lwd=2)
points(Graphdata$D,pch=4,col="orange",lwd=2)
legend("topright",
       legend=c("A","B","C","D"),
       col=c("red","blue","green","orange"),lwd=2)

enter image description here

Часть моих данных выглядит так:

     Sites     A     B     C     D
    1     A 2.052 2.268 1.828 1.474
    2     B 0.549 0.664 0.621 1.921
    3     C 0.391 0.482 0.400 0.382
    4     D 0.510 0.636 0.497 0.476
    5     A 0.214 0.239 0.215 0.211
    6     B 1.016 1.362 0.978 0.876
......................................
.....................................

и я хочу легенду в соответствии с pch, а не в виде линии.

1 Ответ

0 голосов
/ 18 января 2019

Барплот происходит потому, что вы строите коэффициент для столбца Sites. Чтобы построить только точки:

library(reshape2)
library(ggplot2)
#plots 6 categorical variables
Graphadata.m = melt(t(Graphdata[-1]))
ggplot(Graphadata.m,aes(Var2,value,group=Var2)) + geom_point() + ylim(-1,2.5)

Если вы хотите вместо этого построить 4 категориальные переменные:

Graphdata.1 = t(Graphdata[-1])
colnames(Graphdata.1) = c("A","B","C","D","A","B")
Graphdata.m = melt(Graphdata.1)
ggplot(Graphdata.m,aes(Var2,value,group=Var2)) + geom_point() + ylim(-1,2.5)

EDIT: В базе R:

plot(1,xlim=c(1,4),ylim=c(-1,2.5), xlab="sites",ylab="density frequency",lwd=2,type="n",xaxt = 'n')
axis(1,at=c(1,2,3,4),tick=T,labels=c("A","B","C","D"))
points(Graphdata$A,pch=1,col="blue",lwd=2)
points(Graphdata$B,pch=1,col="green",lwd=2)
points(Graphdata$C,pch=1,col="red",lwd=2)
points(Graphdata$D,pch=1,col="orange",lwd=2)
...