R ggplot将参数放入或放出aes

时间:2018-06-13 19:43:49

标签: r ggplot2 aes

我总是对resource "google_sql_database_instance" "sql_instance" { name = "${var.sql_name}" region = "${var.region}" database_version = "POSTGRES_9_6" project = "${data.google_project.my_project.project_id}" settings { tier = "db-custom-6-23040" disk_size = "${var.sql_disk_size}" disk_type = "${var.sql_disk_type}" } } output "connection_name" { value = "${google_sql_database_instance.sql_instance.connection_name}" } 感到困惑。哪个论点应放在其中,哪个不应该。有一些原则或经验法则吗?非常感谢!

1 个答案:

答案 0 :(得分:3)

如果参数根据数据集中的变量而变化,则它会进入aes()。所以aes(color = group)表示数据集中有一个名为group的变量,该变量决定了为每个数据点/行等分配的颜色等。请注意,您没有说明所需的颜色aes - 你告诉它什么变量定义了要分配相同颜色的观察组。使用scale_color_*分别挑选颜色 - 其中*仅表示此处存在多个选项。

如果您直接指定要素(例如您想要的特定形状,颜色,线型,尺寸等),则不会进入aes - 因此color = 'red'不会进入aes {1}} - 颜色由您指定,而不是变量。这可以通过以下代码突出显示:

data <- data.frame(
  x = rnorm(50),
  y = rnorm(50),
  z = LETTERS[1:2][sample(1:2, 50, replace = TRUE)]
)
ggplot(data, aes(x = x, y = y, shape = z)) + # shape is determined by the variable z, so it goes in aes.
  geom_point() + 
  geom_hline(yintercept = c(-1, 1), color = c("blue", "red")) # color is specified directly (1st line blue, 2nd line red), so it does not.