gpt4 book ai didi

r - ggplot 设置 ylim 最小值或最大值

转载 作者:行者123 更新时间:2023-12-04 23:37:58 28 4
gpt4 key购买 nike

我正在尝试绘制一个图,我可以在其中指定 y 轴的最小值或最大值。但我得到 Error in if (zero_range(range)) { : missing value where TRUE/FALSE needed
来自 documentation :

You can leave one value as NA to compute from the range of the data.



因此,我做了:
#Getting some data in
plot <- ggplot(mydata,
aes_string(y="yvar", x="xvar", colour="group", group="group", fill="group")
)
#Adding some error bars
plot <- plot + geom_errorbar(aes(ymax=agg+var, ymin=agg-var), size=0.5, colour="black", data=mydata)

plot <- plot + geom_point(size=4)
plot <- plot + geom_line(size=1)

#Here is when I just want to set y max
plot <- plot + coord_cartesian(ylim= c(NA, 100))

如果我删除 ylim或更改 NA到一个数值,它运作良好。我在这里缺少什么?

最佳答案

您可以使用扩展限制仅在一个方向上扩展轴。例如:

ggplot(mtcars, aes(wt, mpg)) +
geom_point() +
expand_limits(y=c(NA, 50))

对于您的示例,它将是:
plot + expand_limits(y=c(NA, 100))

您甚至可以提供单个值。如果该值大于数据的最大值,它将扩大最大值。如果低于数据的最小值,则会扩大最小值。在你的例子中:
plot + expand_limits(y=100)

这里有两个可重复的例子:
p = ggplot(mtcars, aes(wt, mpg)) +
geom_point()

p + expand_limits(y=-20)
p + expand_limits(y=200)

enter image description here

关于r - ggplot 设置 ylim 最小值或最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47949469/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com