gpt4 book ai didi

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

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

我正在研究一个类似的问题,正如这里已经讨论过的:
r - ggplot2: connecting points in polar coordinates with a straight line

不幸的是,该解决方法不再有效。

我编写了一个示例代码来特别讨论我的问题。这是我上次尝试的:我使用了 geom_segment而不是 geom_path最后我把线围成一圈。这些线总是先向零前进,然后根据给定位置转弯,而不是走直线。

require(grid)
require(ggplot2)
set.seed(40);
Location<-data.frame(Winkel=round(runif(1000,0,24),0))
Location$BAD <- Location$Winkel %in% c(seq(7,18))
Abschnitte<-c(0:24)
polar<-data.frame(Winkel2=c(1.5, 2.34, 1.2, 3.45, 1.67, 2.61, 1.11, 13.2),
value=c(0.1, 0.03, 0.02, 0.015, 0.01, 0.04, 0.09, 0.06),
.Names=c("Winkel2", "value"))

ggplot(Location, aes(x = Winkel, fill = BAD, y=(..count..)/sum(..count..))) +
geom_histogram(breaks = seq(0,24), colour = "black") +
coord_polar(start = 0) + theme_minimal() +
scale_fill_brewer(type="seq",palette=3) +
ylab("Percentual allocation time") +
ggtitle("") +
scale_x_continuous("", limits = c(0, 24), breaks = Abschnitte, labels = Abschnitte) +
scale_y_continuous(labels = scales::percent)+
geom_segment(data=polar, aes(x=0, y=0, xend=Winkel2, yend=value, fill=NA),
arrow=arrow(angle=30,type="closed",length=unit(0.3,"cm")))

enter image description here

geom_path还是更好的选择?我用 geom_path 尝试了一些东西,但并没有真正到达我想要的地方。

最佳答案

我自己解决了这个问题,并想分享我的发现:

我的问题出在这一行:

geom_segment(data=polar, aes(x=0, y=0, xend=Winkel2, yend=value, fill=NA),

起点 x 决定了箭头应该首先指向的方向。例如。如果设置为 0,则所有箭头最初将朝向我的零标记并通过制作曲线转向它们的预期位置。为了解决这个问题,我必须设置 x=Winkel2,因此每个箭头都从其单独的标记开始并直接到达最终位置:

关于r - ggplot - 用直线连接极坐标中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42276773/

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