gpt4 book ai didi

r - 使用 ggplot 库中的 geom_path

转载 作者:行者123 更新时间:2023-12-04 09:09:02 24 4
gpt4 key购买 nike

我有 12 个变量, M1, M2, ..., M12 ,为此我计算了某个统计量 x .

 df = data.frame(model = factor(paste("M", 1:28, sep = ""), levels=paste("M", 1:28, sep = "")), x = runif(28, 1, 1.05))

levels = seq(0.8, 1.2, 0.05)

我想按如下方式绘制这些数据:

enter image description here

每个圆圈(轮廓)代表该统计的一个水平 "x" .三条蓝线仅代表三种不同的场景。

此示例中包含的数据框代表一种场景。蓝线将简单地连接所有模型的值 M1 M28 对于那个特定的场景。

我尝试了以下方法:
 ggplot(data=df, aes(x=model, y=x, group=1)) + 
geom_line() + coord_polar() +
scale_y_continuous(limits=range(levels), breaks=levels, labels=levels) +
theme(axis.text.y = element_blank(), axis.ticks = element_blank(), axis.title.x = element_blank(), axis.title.y = element_blank())

但是,我得到了一条断开的路径(在 M28 和 M1 之间)

enter image description here

然后,我复制第一行并将其放在数据框的底部(见下文),然后使用 geom_path()而不是 geom_line() ,但我没有得到我想要的结果:
 ## Replicating the first row (model1) and placing it at end of dataframe
df = rbind(df, df[1,])

## using geom_path()

ggplot(data=df, aes(x=model, y=lg, group=1)) +
geom_path() + coord_polar() +
scale_y_continuous(limits=range(levels), breaks=levels, labels=levels) +
theme(axis.text.y = element_blank(), axis.ticks = element_blank(), axis.title.x = element_blank(), axis.title.y = element_blank())

enter image description here

任何人都可以帮助我实现我正在寻找的结果吗?任何帮助,将不胜感激。谢谢!

最佳答案

您必须使用 geom_polygon对于封闭路径:

library(ggplot2)
ggplot(data=df, aes(x=model, y=x, group=1)) +
geom_polygon(fill = NA, colour = "black") +
coord_polar() +
scale_y_continuous(limits=range(levels), breaks=levels, labels=levels) +
theme(axis.text.y = element_blank(), axis.ticks = element_blank(),
axis.title.x = element_blank(), axis.title.y = element_blank())

enter image description here

关于r - 使用 ggplot 库中的 geom_path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21531230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com