我试图(部分地)重现在s.class(...)包中ade4使用的群集图ggplot,但这个问题实际上更为通用.
注意:这个问题是指"星形图",但实际上只讨论了蜘蛛图.
df <- mtcars[,c(1,3,4,5,6,7)]
pca <-prcomp(df, scale.=T, retx=T)
scores <-data.frame(pca$x)
library(ade4)
km <- kmeans(df,centers=3)
plot.df <- cbind(scores$PC1, scores$PC2)
s.class(plot.df, factor(km$cluster))
Run Code Online (Sandbox Code Playgroud)

我正在寻找的基本特征是"星星",例如从公共点(这里是聚类质心)辐射到一些其他点(这里是聚类中的点)的一组线.
有没有办法使用该ggplot包?如果没有直接通过ggplot,那么有没有人知道一个有用的加载项.例如,有几个变体stat_ellipse(...)不是ggplot包的一部分(这里和这里).
我最近一直在研究雷达图,并从Erwan Le Pennec找到了大量代码。我进行了一些编辑,但是有一些部分我无法弄清楚如何删除最外面的圆圈,因为它没有定义值。目前,代码正在绘制主要的网格线。我试图欺骗它删除两个轴并且只绘制较小的增量,但是任何一个都有效。
干杯!
这是我的代码:
coord_radar <- function (theta = "x", start = 0, direction = 1)
{
theta <- match.arg(theta, c("x", "y"))
r <- if (theta == "x")
"y"
else "x"
ggproto("CordRadar", CoordPolar, theta = theta, r = r, start = start,
direction = sign(direction),
is_linear = function(coord) TRUE)
}
RadarTheme<-theme(panel.background=element_blank(),
plot.title= element_text(size = 25,face=c("bold","italic")),
plot.margin = unit(c(2, 2, 2, 2), "cm"),
text=element_text(family="Open Sans"), aspect.ratio = 1,
legend.position="bottom",legend.title=element_blank(),legend.direction="vertical",
strip.text.x = element_text(size = rel(0.8)),
axis.text.x = element_text(size = …Run Code Online (Sandbox Code Playgroud) 我有极坐标的情节.我使用geom_path连接点,但我希望路径是直线.这是我到目前为止所拥有的:
example <- data.frame(c(5,4,3),c(0.9,1.1,0.6))
colnames(example) <- c("r", "theta")
myplot <- ggplot(example, aes(r, theta)) + geom_point(size=3.5) +
coord_polar(theta="y", start = 3/2*pi, direction=-1) +
scale_x_continuous(breaks=seq(0,max(example$r)), lim=c(0, max(example$r))) +
scale_y_continuous(breaks=round(seq(0, 2*pi, by=pi/4),2), expand=c(0,0), lim=c(0,2*pi)) +
geom_text(aes(label=rownames(example)), size=4.4, hjust=0.5, vjust=-1) +
geom_path()
Run Code Online (Sandbox Code Playgroud)
我很感激任何建议.