【问题标题】:Irregular scaling of axis in RR中轴的不规则缩放
【发布时间】:2012-09-12 23:53:06
【问题描述】:

我计算了三个网络的几个类别的值。我想在 R 中创建一个条形图来显示这些网络参数之间的差异。到目前为止,我使用 barplot R 函数绘制了这个,x 轴上的类别,y 轴上的值和每个类别三个条形图(每个网络一个)。

但现在我有一个价值远高于其他所有价值。因此,看不到其余部分的差异,因为它们仅由一条细线表示,因为一个大条几乎填满了整个情节。

我现在的想法是在 y 轴上以不规则的比例绘制值,例如,一半代表 0 到 300 之间的值,另一半代表 300 到 3000 之间的值。有什么办法可以做这个?或者一个很好的替代方法来处理这个问题?我也想过绘制对数,但不幸的是我也有负值。

【问题讨论】:

    标签: r plot scale


    【解决方案1】:

    我认为不规则的比例不是一个好计划 - 我认为它会使图表的查看者感到困惑。相反,您可以使用layout() 函数在水平布局中绘制三个单独的条形图。因此,每个类别都可以有自己的情节,有自己的规模。

    但是,如果您仍然有一个 3000 的柱,而其他所有柱子都在 300,那将无济于事。在这种情况下,您可以使用 ylim=c(min,max) 手动设置 y 轴范围。为了防止条形图超出屏幕,您可以使用简单的逻辑将任何 > 300 的值定义为 300 或类似的值。然后,在此处放置一个文本点,说明实际值(使用text,可能使用arrow)。

    有了这些想法,我建议一个值是其他值的 10 倍的图表可能不值得展示,或者如果是,那么主要的收获不是“价值如何2 和 3 相互比较”,这将是“天哪,看看 1 比 2 和 3 大多少”。因此,如果一个条形图很大而两个条形图很小,这可能没什么大不了的,只要您没有在一个图上完成所有 9 个(这会搞砸其他相关的比较)。因此,如果您使用layout() 拆分它们,那么它就没什么大不了了。

    【讨论】:

    • 分割情节以使每个类别都有自己的比例似乎是一个非常明显的解决方案,但我仍然没有想到这一点。我想这是防止观众混淆的最好方法。我会试试 layout() 函数。非常感谢。
    • 没问题。如果这个答案有帮助,你能回去帮我接受,这样我就可以得到声望奖励了吗?
    猜你喜欢
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多