Добавление меток оси x и y в ggplot2

Как мне изменить метки x и y на этом графике?

library(Sleuth2)
library(ggplot2)
discharge<-ex1221new$Discharge
area<-ex1221new$Area
nitrogen<-ex1221new$NO3
p <- ggplot(ex1221new, aes(discharge, area), main="Point")
p + geom_point(aes(size= nitrogen)) + 
    scale_area() + 
    opts(title = expression("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)"), 
         subtitle="n=41")

Ответ 1

[Примечание: отредактировано для модернизации синтаксиса ggplot]

Ваш пример не воспроизводится, поскольку нет ex1221new (есть ex1221 в Sleuth2, поэтому я предполагаю, что это то, что вы имели в виду). Кроме того, вам не нужно (и не должно) вытащить столбцы для отправки на ggplot. Одно из преимуществ заключается в том, что ggplot работает с data.frame напрямую.

Вы можете установить метки с помощью xlab() и ylab() или сделать ее частью вызова scale_*.*.

library("Sleuth2")
library("ggplot2")
ggplot(ex1221, aes(Discharge, Area)) +
  geom_point(aes(size=NO3)) + 
  scale_size_area() + 
  xlab("My x label") +
  ylab("My y label") +
  ggtitle("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)")

enter image description here

ggplot(ex1221, aes(Discharge, Area)) +
  geom_point(aes(size=NO3)) + 
  scale_size_area("Nitrogen") + 
  scale_x_continuous("My x label") +
  scale_y_continuous("My y label") +
  ggtitle("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)")

enter image description here

Альтернативный способ указывать только метки (удобно, если вы не меняете каких-либо других аспектов шкал) использует функцию labs

ggplot(ex1221, aes(Discharge, Area)) +
  geom_point(aes(size=NO3)) + 
  scale_size_area() + 
  labs(size= "Nitrogen",
       x = "My x label",
       y = "My y label",
       title = "Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)")

который дает идентичную цифру выше.