0

我遇到了一个问题,我正在尝试创建条形图并让用户通过 ylim 中的两个变量调整哪些数据可见。然而,我使用的一些数据有负值,每当我尝试对 ylim 使用两个负值时,我的所有数据都会被删除。

这是一段演示问题的虚拟代码(其中 a 和 b 将是用户定义的变量):

a <- -10
b <- -1

df2 <- data.frame(food = c("mac", "bread", "hot dog", "t-rav", "gogurt"), 
                  rating = c(-8, -4, 2, -3, 5))

ggplot(df2, aes(food, rating)) +
    geom_bar(stat = 'identity') +
    ylim(a, b)

此代码中的空白图:

此代码中的空白图

对于两个正值,一个负值和一个正值,或者一个负值和一个零值,这将完全符合我的要求。但是两个负值会导致一个空白图表。

任何人都知道我遇到了什么问题以及修复可能是什么?

4

1 回答 1

2

尽量coord_cartesian()保持几何(需要 y=0),但只是限制你对它的看法。

library(ggplot2)
a <- -10
b <- -1

df2 <- data.frame(food = c("mac", "bread", "hot dog", "t-rav", "gogurt"), 
                  rating = c(-8, -4, 2, -3, 5))

ggplot(df2, aes(food, rating)) +
  geom_bar(stat = 'identity') +
  coord_cartesian(ylim=c(a,b))

在此处输入图像描述

于 2021-11-09T23:44:20.040 回答