我绘制了来自不同热度结果的数据。但是,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
这是我的结果:
答案 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
。
现在,将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)