r语言 - 为什么 ggplot 中的'scale_x/y_continuous()'函数内部有一个'name'参数,而已经存在'x/ylab()'函数?



我想 ggplot 中的scale_x_continuous()name参数和scale_y_continuous()函数只更改轴标签,xlab()ylab()函数也是如此。

那么,在这些函数中这个参数有什么必要呢?

这些函数没有相同的目的,您必须根据您想要执行的操作使用。

scale_x_continuousscale_y_continuous不仅允许您更改相应轴的名称,还可以自定义轴(通过修改限制、中断、比例、添加第二个轴......而xlabylab函数仅修改相应轴的名称。

让我们举个例子。您有一个散点图,并且想要修改 x 轴的限制和名称。如果没有scale_x_continuous,您将写入:

ggplot(data, aes(x, y, ...) +
geom_point()+
xlab("New Name")+
xlim(0,10)

使用scale_x_continuous,您可以编写:

ggplot(data, aes(x, y, ...) +
geom_point()+
scale_x_continuous(name = "New Name", limits = c(0,10))

因此,您少了一行,并且有可能将更多参数传递给scale_x_continuous

但是,如果我们采用相同的示例,但您只需要更改标题的名称,则可以执行以下操作之一:

ggplot(data, aes(x, y, ...) +
geom_point()+
xlab("New Name")

ggplot(data, aes(x, y, ...) +
geom_point()+
scale_x_continuous(name = "New Name")

现在,您会看到xlab的使用更加方便和可读。

就我个人而言,这些冗余功能的目的是通过各种方式获得您想要的东西,同时保持事情的简单性和可读性。所有这些功能都很有用,但这取决于您需要做什么来使用它们。

https://ggplot2.tidyverse.org/reference/labs.html https://ggplot2.tidyverse.org/reference/scale_continuous.html

创建这些类型的函数,因为有时您想在轴中手动执行某些操作,这些功能可以帮助您完成这些操作。我希望这个链接对您有用: https://ggplot2.tidyverse.org/reference/scale_continuous.html

最新更新