相关疑难解决方法(0)

有没有办法用ggplot创建一个"星"图?

我试图(部分地)重现在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包的一部分(这里这里).

r ggplot2

7
推荐指数
2
解决办法
2183
查看次数

将单位标签添加到雷达图并删除外环 ggplot2(蜘蛛网图,coord_radar)

我最近一直在研究雷达图,并从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)

r ggplot2 radar-chart pie-chart ggproto

7
推荐指数
1
解决办法
2372
查看次数

r - ggplot2:用直线连接极坐标中的点

我有极坐标的情节.我使用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)

我很感激任何建议.

r lines ggplot2 polar-coordinates

4
推荐指数
1
解决办法
2636
查看次数

标签 统计

ggplot2 ×3

r ×3

ggproto ×1

lines ×1

pie-chart ×1

polar-coordinates ×1

radar-chart ×1