[英]Can't change the y-axis scale
我绘制了来自不同 Heat 结果的数据。 但是,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
这是我的结果:
您当前的数据可能如下所示:
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
。
现在,将Rating
从factor
更改为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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.