R 制作自定义函数时,如何在绘图上标记轴?

R 制作自定义函数时,如何在绘图上标记轴?,r,ggplot2,plot,axis-labels,R,Ggplot2,Plot,Axis Labels,我需要做一个自定义函数,可以绘制几个单独的箱线图。我的函数有两个参数:一个用于x轴,另一个用于y轴。我想用数据框中用作参数的列的名称来标记它们。问题是,当我使用colnames()提取列名时,它不会在图形上显示任何内容,甚至不会显示用作参数的字母a和b(当我没有labs()层时,它会显示它们)。你能帮我修一下吗?我的代码如下 forestfires <- read.csv(url( "https://archive.ics.uci.edu/ml/machine-learning-d

我需要做一个自定义函数,可以绘制几个单独的箱线图。我的函数有两个参数:一个用于x轴,另一个用于y轴。我想用数据框中用作参数的列的名称来标记它们。问题是,当我使用
colnames()
提取列名时,它不会在图形上显示任何内容,甚至不会显示用作参数的字母
a
b
(当我没有
labs()
层时,它会显示它们)。你能帮我修一下吗?我的代码如下

forestfires <- 
 read.csv(url(
  "https://archive.ics.uci.edu/ml/machine-learning-databases/forest-fires/forestfires.csv"))

require(ggplot2)

boxplot_months <- function(a,b) {
  ggplot(data = forestfires) +
    aes_string(x=a, y=b) +
    geom_boxplot() +
    theme(panel.background = element_rect(fill="white")) +
    labs(x=colnames(a), y=colnames(b))
 }

boxplot_months(forestfires$month, forestfires$FFMC)
forestfires
aes\u字符串
以字符作为输入。

也就是说,通过将参数作为字符串传递,您也可以在
labs()
中使用
a
b
。然而,我应该提到,
colnames(forestfires$month)
是完全没有的,因为在提取一个列之后,您只需要一个向量,而不再是该列


forestfires欢迎使用堆栈溢出。我将您的数据集添加到您的问题中,但获得答案的标准做法(假设我不熟悉您使用的数据)是发布一个可复制的示例。请参观并阅读如何询问网站各部分,有关r中可复制示例的具体信息,请阅读本文。干杯