Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R轴的不规则标度_R_Plot_Scale - Fatal编程技术网

R轴的不规则标度

R轴的不规则标度,r,plot,scale,R,Plot,Scale,我计算了三个网络的几个类别的值。我想在R中创建一个条形图,以显示网络的这些参数之间的差异。到目前为止,我用barplot R函数绘制了这个图,类别在x轴上,它们的值在y轴上,每个类别有三个条形图(每个网络一个) 但现在我有一个值比其他值高得多。因此,其余部分的差异无法看到,因为它们仅由一条细线表示,因为一条大条几乎填满了整个绘图 我现在的想法是以不规则的比例绘制y轴上的值,例如,一半表示0到300之间的值,另一半表示300到3000之间的值。有没有办法做到这一点?还是处理这个问题的好方法?我也想

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

但现在我有一个值比其他值高得多。因此,其余部分的差异无法看到,因为它们仅由一条细线表示,因为一条大条几乎填满了整个绘图


我现在的想法是以不规则的比例绘制y轴上的值,例如,一半表示0到300之间的值,另一半表示300到3000之间的值。有没有办法做到这一点?还是处理这个问题的好方法?我也想过画对数,但不幸的是,我也有负值

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

然而,如果你仍然有一个单杠在3000,而其他的都在300,那就没什么用了。在这种情况下,您可以使用
ylim=c(最小值,最大值)
手动设置y轴限制。为了防止条从屏幕上延伸出去,您可以使用简单的逻辑将任何大于300的内容定义为300或类似的内容。然后,在此处放置一个文本点,说明实际值(使用
文本
,可能使用
箭头


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

拆分绘图,使每个类别都有自己的比例似乎是一个非常明显的解决方案,但我仍然没有想到这一点。我想这是防止观众困惑的最好办法。我将尝试layout()函数。非常感谢,没问题。如果这个答案有帮助的话,你能回去帮我接受它,这样我就可以得到声誉奖金吗?