gpt4 book ai didi

r - 加入极线ggplot图中的间隙

转载 作者:行者123 更新时间:2023-12-04 19:34:18 25 4
gpt4 key购买 nike

当 ggplot 使用极坐标绘制线图时,它会在最高和最低 x 值(下面的 DecJan)之间留下间隙,而不是环绕成螺旋状。我怎样才能继续这条线并缩小差距?

特别是,我想使用月份作为我的 x 轴,但在一条循环线上绘制多年的数据。

代表:

library(ggplot2)

# three years of monthly data
df <- expand.grid(month = month.abb, year = 2014:2016)
df$value <- seq_along(df$year)

head(df)
## month year value
## 1 Jan 2014 1
## 2 Feb 2014 2
## 3 Mar 2014 3
## 4 Apr 2014 4
## 5 May 2014 5
## 6 Jun 2014 6

ggplot(df, aes(month, value, group = year)) +
geom_line() +
coord_polar()

spiral plot with gaps

最佳答案

这是一个有点hacky的选项:

# make a data.frame of start values end values should continue to
bridges <- df[df$month == 'Jan',]
bridges$year <- bridges$year - 1 # adjust index to align with previous group
bridges$month <- NA # set x value to any new value

# combine extra points with original
ggplot(rbind(df, bridges), aes(month, value, group = year)) +
geom_line() +
# close gap by removing expansion; redefine breaks to get rid of "NA/Jan" label
scale_x_discrete(expand = c(0,0), breaks = month.abb) +
coord_polar()

spiral plot without gaps

但是,显然添加额外的数据点并不理想,因此可能存在更优雅的答案。

关于r - 加入极线ggplot图中的间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41842249/

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