R 带有ggplot2的径向可视化坐标

R 带有ggplot2的径向可视化坐标,r,ggplot2,data-visualization,polar-coordinates,R,Ggplot2,Data Visualization,Polar Coordinates,我正在尝试使用ggplot2和coord_polar()获得径向坐标图。我使用了R中的drep包并获得了一个radviz2d(),请参阅。因为我希望在ggplot中实现它,所以我提取了所有必要的函数。另外,我希望使用coord_polar()函数获得这个值,当我这样做时,我的变量会旋转。有人知道如何解决这个问题吗 library("dprep") radviz2d(iris,name="Iris") #-------------------- Extracted from mmnorm.R n

我正在尝试使用ggplot2和coord_polar()获得径向坐标图。我使用了R中的drep包并获得了一个radviz2d(),请参阅。因为我希望在ggplot中实现它,所以我提取了所有必要的函数。另外,我希望使用coord_polar()函数获得这个值,当我这样做时,我的变量会旋转。有人知道如何解决这个问题吗

library("dprep")
radviz2d(iris,name="Iris")

#-------------------- Extracted from mmnorm.R
n <- dim(iris)[1]
p <- dim(iris)[2]
classes <- iris[,p]
varnames <- colnames(iris)

dataset <- as.matrix(mmnorm(iris))
dataset <- dataset[,-p]
sumrows <- rowSums(dataset)
columns <- seq(0,p-2)
angles <- (2*pi*columns)
angles <- angles/(p-1)
cosines <- cos(angles)
sines <- sin(angles)
proj.x <- (dataset%*%cosines)
proj.x <- proj.x/sumrows
proj.y <- (dataset%*%sines)
proj.y <- proj.y/sumrows

#--------------- What I'd been doing
library("ggplot2")
library("reshape2")

dataset2 <- melt(dataset/sumrows)
classnumbers <- 1:length(unique(classes))
classes <- as.numeric(classes,drop=TRUE)

Projxy <- data.frame(Projx = proj.x, Projy = proj.y, Ids = classes)
Cos_Sin <- data.frame(Angle = angles,Cos=cosines, 
                                  Sin = sines, Varnames = varnames[-p])
theta <- angles * 180/pi
d2 <- data.frame(theta,Varnames=varnames[-p])

#------------ My ggplot2 
ggplot(data=dataset2,aes(x = Var2, y = value)) + geom_blank() + 
  ylab("") + xlab("") + ggtitle(paste("RadViz 2D for", "Iris")) +
  coord_polar("y",start = pi/2) +
  geom_point(data = Projxy,aes(x = Projx, y = Projy,col = factor(Ids))) +
  coord_polar() + theme(legend.position = "bottom")
库(“dprep”)
radviz2d(iris,name=“iris”)
#--------------------从mmnorm.R中提取
N