【问题标题】:agricolae package bar.group x-axis label orientationagricolae 包 bar.group x 轴标签方向
【发布时间】:2018-02-09 03:09:09
【问题描述】:

我使用 agricolae 进行了 LSD,输出具有分配给组的字母,表示哪些组彼此之间存在显着差异。我希望能够生成一个条形图,显示每个条形上方的字母,以便很容易看出哪些处理方式彼此之间存在显着差异。

我尝试使用“bar.group”函数生成一个效果很好的图表,但是由于我有 13 个单独的处理,x 轴标签是重叠的。

我想将 x 轴标签的方向更改为 90 度,或者如果无法做到这一点,请找到另一种方法来绘制条形图,将重要性显示为每个条形上方的字母。

我用来生成绘图的当前代码是

bar.group(breakdown.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")

【问题讨论】:

  • 我觉得如果你提供一些数据的例子会更好。
  • 我已经添加了数据集,但由于我是新用户,我无法上传我正在生成的图形的图片以进一步突出情况
  • 请参阅here,了解如何使用dput 复制您的数据。您可以找到创建最小示例的一般说明here
  • 我想我已经按照您现在要求的格式提供了示例数据
  • 威廉,我不是在“问”,我是想帮你问一个更好的问题。

标签: r


【解决方案1】:

如果我正确理解您的问题,这应该是一个非常容易解决的问题。我不熟悉 bar.group() 函数,但是,在内部使用 las = 2 是旋转轴标签的一般方式。如果这不起作用并且您不能使用 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"))

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 2013-03-08
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多