箱线图,在上四分位数处加横线,R语言代码,stat_summary(fun = max, geom = "crossbar", color = "black", width = 0.2)
时间: 2024-03-15 19:47:28 浏览: 129
以下是使用 `ggplot2` 包绘制箱线图并在上四分位数处加横线的 R 语言代码示例:
```R
# 导入 ggplot2 包
library(ggplot2)
# 生成示例数据
data <- c(7, 8, 9, 10, 12, 13, 15, 17, 20, 23, 29)
# 绘制箱线图并在上四分位数处加横线
ggplot(data = data, aes(x = "", y = data)) +
geom_boxplot(width = 0.2) +
stat_summary(fun = max, geom = "crossbar", color = "black", width = 0.2)
```
代码中首先导入 `ggplot2` 包,然后生成了一个示例数据。使用 `ggplot()` 函数创建了一个绘图对象,并使用 `aes()` 函数指定了 x 轴和 y 轴的数据。使用 `geom_boxplot()` 函数绘制了箱线图。使用 `stat_summary()` 函数在上四分位数处加横线。其中,`fun` 参数指定了计算横线位置的函数,`geom` 参数指定了绘制横线的几何对象,`color` 参数指定了横线的颜色,`width` 参数指定了横线的宽度。
相关问题
p_boxplot_exp_mt.gene = boxplot(sample_exp_mt.gene) > p_boxplot_exp_mt.gene = p_boxplot_exp_mt.gene + + geom_boxplot(color = "black", size = 0.25, outlier.shape = NA) + + xlab(NULL) + ylab("log2(CPM+1)") + + scale_color_manual(values = "black") + + stat_summary(fun = max, geom = "crossbar", color = "black", width = 0.1) + + stat_summary(fun = min, geom = "crossbar", color = "black", width = 0.1) + + theme(axis.line = element_line(color = "black", size = 0.25), + axis.ticks = element_line(color = "black", size = 0.25), + axis.text = element_text(color = "black", angle = 90, size = 18), + axis.title = element_text(color = "black", size = 18)) + + geom_text(data = sample_exp_mt.gene, aes(x = sample, y = median_expression, + label = paste0("Median: ", round(median_expression, 2))), + vjust = -1, hjust = -0.5, size = 4, color = "black")+ + theme(panel.background = element_blank()) Error in p_boxplot_exp_mt.gene + geom_boxplot(color = "black", size = 0.25, : non-numeric argument to binary operator
看起来您的代码中有一些问题,主要是在 `p_boxplot_exp_mt.gene = boxplot(sample_exp_mt.gene)` 这行代码中,您将 `boxplot` 的输出结果赋值给了 `p_boxplot_exp_mt.gene` 变量。但是,在后面的代码中,您却又将 `p_boxplot_exp_mt.gene` 作为一个 `ggplot` 对象进行操作,这就导致了一个类型不匹配的错误。
建议您将 `boxplot` 的输出结果转换为一个数据框,再使用 `ggplot` 进行绘图,如下所示:
```
# 将 boxplot 的输出结果转换为数据框
df_boxplot <- as.data.frame(p_boxplot_exp_mt.gene)
# 使用 ggplot 绘制箱线图
ggplot(df_boxplot, aes(x = "", y = sample_exp_mt.gene)) +
geom_boxplot(color = "black", size = 0.25, outlier.shape = NA) +
xlab(NULL) +
ylab("log2(CPM+1)") +
scale_color_manual(values = "black") +
stat_summary(fun = max, geom = "crossbar", color = "black", width = 0.1) +
stat_summary(fun = min, geom = "crossbar", color = "black", width = 0.1) +
theme(axis.line = element_line(color = "black", size = 0.25),
axis.ticks = element_line(color = "black", size = 0.25),
axis.text = element_text(color = "black", angle = 90, size = 18),
axis.title = element_text(color = "black", size = 18)) +
geom_text(data = df_boxplot, aes(x = 1, y = median,
label = paste0("Median: ", round(median, 2))),
vjust = -1, hjust = -0.5, size = 4, color = "black") +
theme(panel.background = element_blank())
```
这样可以避免 `p_boxplot_exp_mt.gene` 类型不匹配的错误。
b+geom_point(size=2,color='blue')+ coord_fixed()+theme_classic()+ geom_smooth(method = "lm",formula = y ~ x,size=2,color="black",fill="green")+ theme (aspect.ratio=1,axis.text.x = element_text (size = 15),axis.title.x = element_text (size = 15),axis.title.y = element_text(size = 15),axis.text.y = element_text (size = 15))+ stat_cor(data=data, method = "pearson")
这段代码是用来画散点图与线性回归线的。其中b+geom_point(size=2,color='blue')表示绘制散点图,点的大小为2个单位,颜色为蓝色;coord_fixed()表示坐标轴的比例尺不变;theme_classic()表示使用经典的主题风格;geom_smooth(method = "lm",formula = y ~ x,size=2,color="black",fill="green")表示添加一条线性回归线,用黑色表示线的颜色,绿色表示线的填充颜色;theme (aspect.ratio=1,axis.text.x = element_text (size = 15),axis.title.x = element_text (size = 15),axis.title.y = element_text(size = 15),axis.text.y = element_text (size = 15))表示设置图形的各种属性,如长宽比、坐标轴标题和标签的字体大小等;stat_cor(data=data, method = "pearson")表示计算散点图中的皮尔逊相关系数并显示在图形上。
阅读全文