ggplot仅在y轴上显示正值(平面图) 库(tidyverse) mpg2%突变(hwy=hwy-30) ggplot(mpg2,aes(cty,hwy))+ 几何点() 分面网格(年份fl,scales=“free”)+ 连续缩放(扩展=扩展缩放(mult=2))
有了上面的代码块,我想同时做三件事:ggplot仅在y轴上显示正值(平面图) 库(tidyverse) mpg2%突变(hwy=hwy-30) ggplot(mpg2,aes(cty,hwy))+ 几何点() 分面网格(年份fl,scales=“free”)+ 连续缩放(扩展=扩展缩放(mult=2)),r,ggplot2,R,Ggplot2,有了上面的代码块,我想同时做三件事: 不要显示任何(-负y轴标签(在我的示例中,您需要删除-40、-30和-60标签)。我只想显示零和正标签 保持scales=“自由” 同时保持扩大的规模 我该怎么做 我们可以将函数传递给scale\u y\u continuous中的breaks参数,在本例中,该参数返回长度为2的数值向量 library(tidyverse) mpg2 <- mpg %>% mutate(hwy = hwy - 30) ggplot(mpg2, aes(cty,
(-
负y轴标签(在我的示例中,您需要删除-40
、-30
和-60
标签)。我只想显示零和正标签李>
scales=“自由”
我们可以将函数传递给
scale\u y\u continuous
中的breaks参数,在本例中,该参数返回长度为2的数值向量
library(tidyverse)
mpg2 <- mpg %>% mutate(hwy = hwy - 30)
ggplot(mpg2, aes(cty, hwy)) +
geom_point() +
facet_grid(year ~ fl, scales = "free") +
scale_y_continuous(expand = expand_scale(mult = 2))
密谋
要按大小(即绝对值)创建标签,请在标尺中添加
labels=abs
。除此之外,我不知道还有什么问题。您已将刻度设置为自由…这与您期望的有何不同?在您的scale\u y\u continious
中,您可以添加breaks=seq(0,60,10)
以便它删除标签-或者您只是想删除-
符号?或者使用scale\u连续(expand=expand\u scale(mult=2),limits=c(0,NA))
从视图中删除具有负值的元素。或使用匿名函数作为标签参数:labels=function(x)replace(x,x<0,”)
@Roman在构建控制图时,您希望同时查看控制上限和控制下限。它们是对称的,即使没有意义(年龄、身高、长度等),较低的控制极限也会落入负范围。出于对观众的礼貌,我可能会移除y轴的负标签,并根据上下文将LCL作为视觉提示。这是一张控制图,如果你从未见过的话
library(ggplot2); library(dplyr)
mpg2 <- mpg %>% mutate(hwy = hwy - 30)
my_breaks <- function(x) c(0, (((max(x) / 2) %/% 10) + 1) * 10)
my_breaks(67)
# [1] 0 40
ggplot(mpg2, aes(cty, hwy)) +
geom_point() +
facet_grid(year ~ fl, scales = "free") +
scale_y_continuous(expand = expand_scale(mult = 2),
breaks = my_breaks)