在 ggplot2中添加 x 和 y 轴标签

请问如何更改这个图形上的 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")
290845 次浏览

[注意: 为了更新 ggplot 语法而进行了编辑]

你的例子是不可重复的,因为没有 ex1221new(在 Sleuth2中有一个 ex1221,所以我猜这就是你的意思)。此外,您不需要(也不应该)将列拉出发送到 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)")

它给出了一个相同的数字上面的一个。

因为没有给出数据 ex1221new,所以我创建了一个虚拟数据并将其添加到数据帧中。另外,提出的问题在代码方面几乎没有什么变化,比如 ggplot 包已经反对使用

"scale_area()" and nows uses scale_size_area()
"opts()" has changed to theme()

在我的答案中,我已经存储在我的图形变量的情节,然后我已经使用

mygraph$labels$x="Discharge of materials" #changes x axis title
mygraph$labels$y="Area Affected" # changes y axis title

工作完成了,下面是完整的答案。

install.packages("Sleuth2")
library(Sleuth2)
library(ggplot2)


ex1221new<-data.frame(Discharge<-c(100:109),Area<-c(120:129),NO3<-seq(2,5,length.out = 10))
discharge<-ex1221new$Discharge
area<-ex1221new$Area
nitrogen<-ex1221new$NO3
p <- ggplot(ex1221new, aes(discharge, area), main="Point")
mygraph<-p + geom_point(aes(size= nitrogen)) +
scale_size_area() + ggtitle("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)")+
theme(
plot.title =  element_text(color="Blue", size=30, hjust = 0.5),


# change the styling of both the axis simultaneously from this-
axis.title = element_text(color = "Green", size = 20, family="Courier",)
 



# you can change the  axis title from the code below
mygraph$labels$x="Discharge of materials" #changes x axis title
mygraph$labels$y="Area Affected" # changes y axis title
mygraph






   

此外,您还可以根据上面使用的公式更改标签标题-

mygraph$labels$size= "N2" #size contains the nitrogen level