无法更改y轴比例

时间:2019-10-11 20:43:45

标签: r ggplot2

我绘制了来自不同热度结果的数据。但是,y轴始终从在数据集中的相应值中找到的最小值到最大值进行缩放。 我想更改比例,以使y轴从4.0变为10.0

我输入了ylim,但这会返回“提供给连续刻度的离散值”

ggplot(WDF, aes(x = Episode, y = Rating, color = Rating)) +  
  geom_point() +
  ylim(4.0, 10.0)+   
  geom_jitter()+     
  facet_grid(. ~ Season)

没有错误但也没有正确的Y轴刻度的原始代码

ggplot(WDF, aes(x = Version, y = Cells, color = Rating)) +    
  geom_jitter()+ facet_grid(. ~ Heat)

将y轴的范围从4.0缩放到10.0

这是我的结果:

Plot Result

1 个答案:

答案 0 :(得分:0)

您当前的数据可能如下所示:

library(tidyverse) 
WDF <- data.frame(  
    Rating = factor(round(runif(90, min = 5, max = 9.6), 1)),
    Episode = runif(90, min = 0.1, max = 15.9),
    Season = seq(1:9)
) 

Rating是一个factor变量。运行时:

ggplot(WDF, aes(x = Episode, y = Rating, color = Rating)) + 
  geom_point() + ylim(4.0, 10.0)+ geom_jitter()+ facet_grid(. ~ Season)

获取error: Discrete value supplied to continuous scale

现在,将Ratingfactor更改为numeric

WDF <- WDF %>% mutate(Rating_1 = as.numeric(as.character(Rating)))     

请注意:as.character()很重要。没有它,您将得到数字但错误的数字。您可以尝试不使用它来查看差异。

然后,使用新变量Rating_1运行原始代码:

ggplot(WDF, aes(x = Episode, y = Rating_1, color = Rating_1)) + 
  geom_point() + ylim(4.0, 10.0)+ geom_jitter()+ facet_grid(. ~ Season)

产生以下内容: enter image description here