R绘图,复合散点图
我有一个数据集,它包含三列:R绘图,复合散点图,r,plotly,scatter-plot,r-plotly,R,Plotly,Scatter Plot,R Plotly,我有一个数据集,它包含三列:日期不带时间戳,时间转换为与日期相关的特定事件从午夜开始的小时数。第三列是阶段,即或上午,下午,晚上或晚上。相位由TimeTS导出 下面是一个例子 Date TimeTS Phase 2020-01-29 2.75 Night 2020-01-29 4.83 Morning 2020-01-29 7 Morning 2020-01-30 10.6 Afternoon 我需要使用交互式图表(如plotly)来
日期
不带时间戳,时间
转换为与日期相关的特定事件从午夜开始的小时数。第三列是阶段
,即或上午
,下午
,晚上
或晚上
。相位由TimeTS
导出
下面是一个例子
Date TimeTS Phase
2020-01-29 2.75 Night
2020-01-29 4.83 Morning
2020-01-29 7 Morning
2020-01-30 10.6 Afternoon
我需要使用交互式图表(如plotly
)来显示以下内容:
- x轴上有
的散点图,y轴上有日期
的散点图,每个日期上都有时间标记时间
在图表上水平运行,便于解释时间段和阶段的半透明波段
阶段的标记分布
p <- ggplot(clean.data, aes(x=Date,y=TimeTS)) +
geom_rect(data=clean.data, mapping = aes(
xmin=min(Date),
xmax=max(Date),
ymin=0,
ymax=24,
fill=Phase), alpha=0.1) +
# scale_fill_manual(values=c("Morning" = "red", "Afternoon" = "blue", "Evening" = "green", "Night" = "black")) +
geom_point()
p <- ggplotly(p)
p
p多亏@user12728748,我才得以完成这项任务。代码更改如下:
df.phase <- data.frame(start = c(0,4,10,16,22), end = c(4,10,16,22,24), phase = c("Night", "Morning", "Afternoon", "Evening", "Night"))
p <- ggplot(clean.data, aes(x=Date,y=TimeTS)) +
geom_rect(data=df.phase, inherit.aes = FALSE, aes(
xmin= min(clean.data$Date),
xmax= max(clean.data$Date),
ymin=start,
ymax=end,
fill=phase), alpha=0.5) +
scale_fill_manual(values=c("Morning" = "orange", "Afternoon" = "blue", "Evening" = "pink", "Night" = "black")) +
geom_point()
p <- ggplotly(p)
p
df.phase您需要为矩形创建单独的data.frame,并定义其起点和终点。有关问题的(部分)解决方案,请参阅。@user12728748,thx mate。我明天会试试这个,然后让你知道它是怎么回事。