为什么要在ggplot2的coord_trans中使用数据转换,比例转换和坐标转换?

问题描述 投票:0回答:1

在哪种情况下,在ggplot2的coord_trans中使用数据转换,比例转换和坐标转换会很有用?他们有什么区别?下面是一些示例:

ggplot(diamonds, aes(log10(carat), log10(price))) +
  geom_point()
ggplot(diamonds, aes(carat, price)) +
  geom_point() +
  scale_x_log10() +
  scale_y_log10()
ggplot(diamonds, aes(carat, price)) +
  geom_point() +
  coord_trans(x = "log10", y = "log10")
r ggplot2 coordinate-transformation
1个回答
0
投票

比例转换发生在任何统计计算之前,因此统计计算基于比例转换的数据。这是否令人满意取决于您。

您可以在以下图表的异常值中看到。

同样,比例转换会影响轴断裂,而坐标转换不会影响轴断裂;注意y轴标签。这与aes()调用中的数据转换也有区别,即您的轴标签仍反映原始数据空间。

[通常,您可以说,如果只想进行视觉转换,可以使用coord_trans(),而如果要进行数据转换,则可以使用比例转换。

library(ggplot2)
library(patchwork)
#> Warning: package 'patchwork' was built under R version 3.6.3

p1 <- ggplot(diamonds, aes(cut, price)) +
  geom_boxplot()

p2 <- p1 +
  scale_y_continuous(trans = "log10")

p3 <- p1 +
  coord_trans(y = "log10")

p1 + p2 + p3

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLmltZ3VyLmNvbS9jd0pUVHlILnBuZyJ9” alt =“”>

reprex package(v0.3.0)在2020-04-13创建

与比例尺中的oob参数有关,在比例尺和坐标中设置极限也有区别。

© www.soinside.com 2019 - 2024. All rights reserved.