R语言 创建条形图时修改比例

avwztpqn  于 2023-05-11  发布在  其他
关注(0)|答案(2)|浏览(151)

我试着画一个图,其中一个变量的值都在50到55之间。当我使用条形图时,它给我一个从0到60的刻度,这看起来很奇怪,使数据中的差异看起来不会引起注意。有没有一种方法可以让R像以前一样“放大”,并让比例在50到55之间变化?我现在没有使用任何其他软件包,如果有人推荐一个非常简单的软件包,那么我会使用它,但如果可能的话,我真的宁愿使用R作为标准。
我试过使用ylim = c(50, 55),但它的条形图延伸到x轴-它们和以前一样长,但y轴的刻度只显示在50到55之间。
到目前为止,我的代码是:

barplot(variableA, names.arg = variableB,
  xlab = "B",
  ylab = "A",
  ylim = c(50, 55),
  col = rgb(0.2, 0.2, 0.7))
k2fxgqgv

k2fxgqgv1#

您需要设置xpd=参数,其中包含“xpd:合乎逻辑。酒吧应该被允许去区域外吗?

barplot(c(55,54,57), ylim=c(50,60), xpd=FALSE)
b1payxdu

b1payxdu2#

老实说,使用ggplot比使用基本函数更容易,更有意义。

a <- data.frame(group = c("x", "y", "z"), value = c(55,54,57))
a %>% ggplot(aes(x = group, y = value, fill = group)) + 
  geom_bar(stat = "identity") + 
  coord_cartesian(ylim=c(50,60))

在这里,我们制作了一个条形图,它只取50到60之间的y值。
在最初的ggplot()中,我们将美学定义为x是组变量,y是值和填充(图内部的颜色,如果写入颜色,则只有边界将具有用于点和线图的颜色)。
stat =“identity”部分使函数使用y值作为条形图的界限。如果它为空,则默认使用计数x值,并使用计数代替,而不需要y变量。
您需要记住的唯一一件事是coord_cartesian用于非过滤缩放。如果使用ylim()函数而不是它,则条将被截断,因为条不特定于50-60范围。
编辑:%>%是dplyr中的管道操作符。我建议你看看tidyverse包。这是R的力量所在的地方。

相关问题