我使用agricolae进行了一次LSD,输出中有分配给组的字母,表示哪些组彼此显着不同。我希望能够生成一个条形图,显示每个条形图上方的字母,这样很容易看出哪些治疗方法彼此之间存在显着差异。
我尝试使用“bar.group”函数生成一个效果很好的图表,但是由于我有13个单独的处理,x轴标签重叠。
我想要将x轴标签的方向更改为90度,或者如果不可能,则找到另一种方法来绘制条形图,将条形图显示为每个条形图上方的字母。
我用来生成图的当前代码是
bar.group(细分.LSD $ groups,ylim = c(0,100))
以下是我正在使用的数据示例
structure(list(treatment = structure(c(1L, 1L, 1L, 1L), .Label = c("0.5 Fungaflor",
"0.5 Tecto", "0.5 Tecto Fungaflor", "1 Fungaflor", "1 Tecto",
"1 Tecto Fungaflor", "2 Fungaflor", "2 Tecto", "2 Tecto Fungaflor",
"4 Fungaflor", "4 Tecto", "4 Tecto Fungaflor", "Water"), class = "factor"),
breakdown = c(11.11111111, 16.66666667, 20, 16.66666667),
stems = c(2.888888889, 2.916666667, 3.2, 3.166666667), tubers = c(6.666666667,
9.166666667, 8.466666667, 9.5), stemtubers = c(2.307692308,
3.142857143, 2.645833333, 3)), .Names = c("treatment", "breakdown",
"stems", "tubers", "stemtubers"), row.names = c(NA, 4L), class = "data.frame")
答案 0 :(得分:0)
如果我理解你的问题,这应该是一个非常简单的解决方法。我不熟悉bar.group()函数,但是,使用las = 2 inside是旋转轴标签的一般方法。如果这不起作用并且你不能使用rbase barplot()函数,我只需删除x xasis(通常通过包括xaxt ="")然后在barplot之后添加一个单独的命令的新轴()或bar.group()命令。
axis(1,at=breakdown.LSD$groups,
labels = c("Whatever","Your","labels","Are"), las=2)
至于重要标签。可以使用text()命令将其添加到绘图中(应该遵循图形命令)。只需给出x和y坐标并包含标签。
text(x=breakdown.LSD$groups, y = ,
labels = c("Whatever","Your","labels","Are"))
希望这会有所帮助。