我有一组数据结构如下:
names data behaviour timeOrder
(str) (float) (str) (int)
userName1 0.542 green 1
userName1 0.456 green 1
userName1 0.514 red 2
userName1 0.625 blue 3
userName2 0.465 blue 3
userName2 0.635 red 1
userName2 0.464 red 1
.....
每个用户在三个条件(行为 b1/2/3)中都有一个数据集,这些条件在实验中以不同的顺序发生(3,1,2 / 2,3,1 ....)
我想为每个用户表示一组三个数据箱线图,按照 timeOrder 的顺序显示,但按它所代表的行为着色
(x 轴为用户名,y 轴为箱线图)
我设法使用条形图和平均值来做到这一点,如下所示,但我的方法不适用于数据集
这有可能吗?目前我实现了打印三个分组的箱线图
p <- plot_ly(usersDataFrames, x = ~userName, y = ~data, type = "box",color = ~behaviour) %>%
layout(boxmode = "group")
但颜色不是手动管理的
任何帮助表示赞赏,谢谢!
你可以得到接近所需输出的方法是使用方面在ggplot2
和转化timeOrder到的一个因素,所以它才能绘制。
随着scale_fill_manual()
您可以定义填充箱图给你选择的任何颜色。在这种情况下,红色、绿色和蓝色。
下面将在一行中创建一个分面网格,每个用户一个。
ggplot(df, aes(x = factor(timeOrder), y = data, fill = behaviour)) +
geom_boxplot() +
facet_grid(.~names) +
scale_fill_manual(values = c("red", "green", "blue"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句