我是R的图表工具的新手,我怀疑可以通过R轻松完成任务。我使用以下脚本制作了事件序列的步骤折线图:
p = ggplot(data=NULL, aes(stepStartTime, index, group=robot, color=effStatus))+
geom_step(data=robots)+
scale_y_reverse(lim=c(65,2))+
theme(
legend.position="none",
axis.ticks = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.background = element_rect(fill = 'transparent', colour = NA),
plot.background = element_rect(fill = 'transparent', colour = NA)
)
p + scale_color_manual(values=c("#00ff00", "#0080ff", "#ff0000" ))
结果是这样的:
我希望它显示的是将每个事件作为这样的图表上的谨慎点显示。 X轴是时间轴:
图表数据如下表所示。低效事件应显示为红色标记:
答案 0 :(得分:2)
这听起来像是geom_point
而不是geom_step
的工作,因为您希望将每个数据点显示为一个标记。
一些虚假数据:
library(dplyr); library(lubridate)
df <- tibble(
robot = sample(2*1:33, 1E4, replace = TRUE),
stepStartTime = ymd_hm(201809090000) +
runif(1E4, 0, 60*60*24),
effStatus = sample(c("Efficient", "Inefficient"),
1E4, replace = TRUE)
)
绘制它们:
ggplot(df, aes(stepStartTime, robot, color = effStatus)) +
geom_point(size = 2, shape = 'I') +
scale_y_reverse(breaks = 2*1:33) +
theme_minimal() +
theme(panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank())
附录re:手册颜色问题:
要为每个机器人添加特定的颜色(有效时),为无效的机器人添加特殊的颜色,您可以预先创建一个新变量,例如mutate(my_color = if_else(effStatus == "Inefficient", "Inefficient", robot)
。指定颜色后,然后引用my_color
代替robot
。
要获取特定颜色,请使用scale_color_manual
: