我有一个如下所示的数据框:
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轴将是时间.希望最终产品对于上面的数据看起来像这样:

我想用基数R来做这件事.我不知道如何处理这个问题.我的想法是使用点图并绘制一个点图,但忽略了点.然后用方形末端段重复此操作.我不确定这是如何工作的,因为片段需要数字x和y点来制作片段而y轴是分类的.另一个想法是将因子转换为数字(将每个因子分配一个数字)并绘制为空白散点图,然后使用方形末端线段.在我的领域中,这可能是一个强大的工具,可以查看语音模式.
我提前感谢你的帮助.
PS方形截面线段的参数是 segments(... , lend=2) 为那些不熟悉所有段参数的人节省查看此信息的时间.
我一直试图将甘特图的绘制扩展到更一般的情况.我在这里说明了部分结果:

在该图表上绘制了许多行程,红点表示离开,绿点表示返回.现在,这是我的挑战:
使用下面的代码生成此图表是微不足道的,并且很容易将点与红色到绿色的线连接起来,这两个点都发生在同一个月.任何人都可以帮助处理一个环绕的情况,以一般的方式进行跳跃和非闰年等?
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)