相关疑难解决方法(0)

甘特风格时间线图(基数为R)

我有一个如下所示的数据框:

       person n start end
1         sam 6     0   6
2        greg 5     6  11
3     teacher 4    11  15
4         sam 4    15  19
5        greg 5    19  24
6       sally 5    24  29
7        greg 4    29  33
8         sam 3    33  36
9       sally 5    36  41
10 researcher 6    41  47
11       greg 6    47  53
Run Code Online (Sandbox Code Playgroud)

开始和结束的时间或持续时间(山姆从0到6讲话;格雷格从6到11等).n是该人说话的时间长度(在这种情况下是#words).我想把它作为基数R中的时间线绘制(我最终可能会使用ggplot2问一个类似的问题,但这个答案是特定于基础R [当我说基数时我指的是标准安装附带的包]).

y轴将是人,x轴将是时间.希望最终产品对于上面的数据看起来像这样:

Timeline_Graph

我想用基数R来做这件事.我不知道如何处理这个问题.我的想法是使用点图并绘制一个点图,但忽略了点.然后用方形末端段重复此操作.我不确定这是如何工作的,因为片段需要数字x和y点来制作片段而y轴是分类的.另一个想法是将因子转换为数字(将每个因子分配一个数字)并绘制为空白散点图,然后使用方形末端线段.在我的领域中,这可能是一个强大的工具,可以查看语音模式.

我提前感谢你的帮助.

PS方形截面线段的参数是 segments(... , lend=2) 为那些不熟悉所有段参数的人节省查看此信息的时间.

r

12
推荐指数
3
解决办法
7391
查看次数

在R中绘制一年计划员

我一直试图将甘特图的绘制扩展到更一般的情况.我在这里说明了部分结果:

R的年度计划员

在该图表上绘制了许多行程,红点表示离开,绿点表示返回.现在,这是我的挑战:

  1. 我想用灰点标记出发和返回之间的所有日子,并保持其他所有人不受影响.
  2. 我希望这些要点能够正确地包裹不同的月份长度(例如,6月28日的出发将标志着6月30日的日子,然后环绕到7月1日).
  3. 在一日游的情况下,脚本不应该失败(例如,在9月初的旅行中,出发和返回在同一天发生,而较小的绿点在较大的红色标记上绘制).

使用下面的代码生成此图表是微不足道的,并且很容易将点与红色到绿色的线连接起来,这两个点都发生在同一个月.任何人都可以帮助处理一个环绕的情况,以一般的方式进行跳跃和非闰年等?

library("ggplot2")

# ----------------
# LOAD DATA

df <- read.table(text='id,dep_month,dep_day,ret_month,ret_day
c,1,5,1,16
v,2,1,2,6
a,3,28,3,31
z,4,9,4,11
y,4,25,5,3
f,6,28,7,7
w,8,19,8,29
b,9,9,9,9
k,9,29,10,6
n,11,20,12,3', header = TRUE,
                 sep = ',')

# ----------------
# DRAW YEAR CHART

p <- ggplot(data = df,
            aes(x = dep_day,
                y = dep_month
                )
            )
p <- p + theme_bw()
p <- p + geom_point(colour = 'red',
                    size = 6)
p <- p + geom_point(aes(x = ret_day,
                       y = ret_month
                       ),
                   colour = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

6
推荐指数
1
解决办法
339
查看次数

标签 统计

r ×2

ggplot2 ×1