标签: ggpubr

添加主标题多个图 ggarange

我有一个数据框,dt其中包含有关潜水行为和三个不同区域的数据BA, MI, FA。我想ba, mi, fa使用 向我的多个绘图 ( )添加主标题ggarrange,但我没有找到有效的方法。我想在我的 3 个图的顶部添加主标题“潜水深度(米)”

library(data.table)
library(ggplot2)

dt = data.table(area= c("BA", "FA", "MI"),
                dmean = c(30, 50, 200, 76, 467, 87, 98, 10, 240, 176, 89, 400, 340, 10, 40, 54, 89, 340, 205),
                sex = c("F", "M"))

ba<-ggplot(dt[dt$area=="BA",], mapping = aes(y = dmean, x = sex, color = sex, fill=sex))+
  geom_violin(alpha=.5,scale = "width",trim = FALSE, position=position_dodge(1))+
  ggtitle("Dive mean at BA and sex")+
  scale_y_log10(breaks = c(10, 30, …
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2 ggpubr

18
推荐指数
1
解决办法
4万
查看次数

在R中组合地图和XY ggplot图表

我需要将代表考古遗址的地图与不同考古物体的XY ggplot图表结合起来.地图是在tiff文件中,必须尊重它的比例.

首先,这是地图,以红色突出显示参考比例(在X轴中,从-6000到-4000,例如距离为20米;在Y轴中,从900到2100有12米). 在此输入图像描述

我的ggplot图表是通过运行以下代码获得的:

archaeo <- ggplot() + 
    geom_ellipsis(data=Unit_H, 
        aes(x0 = X, y0 = Y, a = Diameter_E.W/2+250, b = Diameter_N.S/2+250, angle = 0), 
        lwd=0, col="darkgray", fill="gray", alpha=0.15) +     
    geom_ellipsis(data=Unit_H, 
        aes(x0 = X, y0 = Y, a = Diameter_E.W/2+120, b = Diameter_N.S/2+120, angle = 0), 
        lwd=0, col="darkgray", fill="gray", alpha=0.25) + 
    geom_ellipsis(data=Unit_H, 
        aes(x0 = X, y0 = Y, a = Diameter_E.W/2, b = Diameter_N.S/2, angle = 0), 
        lwd=0.5, col="darkgray", fill="gray", alpha=0.75) + 
    geom_point(data=Unit_H, aes(X, Y), size = 0.5) + 
    geom_point(data=Refits_H_trans, aes(x,y,group=sample, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggpubr

9
推荐指数
1
解决办法
131
查看次数

在 FactoExtra 包中的 fviz_pca 函数中自定义点形状

我一直在努力对fviz_pca来自 R 包的函数内的输出图中的默认点形状进行更改FactoExtra

该图以我想要自定义的点形状的特定顺序*出现。

*对应的形状分别为16、17、15、12、0、8

    fviz_pca_biplot(PCA, axes = c(1, 2), 
            label="var", col.var = "black", #setas
            geom = "point", pointsize = 2, col.ind=PCADF$groups, 
            addEllipses = TRUE, ellipse.level = 0.95,
            ellipse.type ="confidence", palette = "aaas") + theme_minimal()
Run Code Online (Sandbox Code Playgroud)

我尝试添加到函数中:

  geom_point(aes(shape = c(19,20,21,22,23,24)))
Run Code Online (Sandbox Code Playgroud)

它向我返回了一条错误消息:

geom[1] 中的错误:“环境”类型的对象不是可子集的

在函数 fviz_pca 中管理和自定义点形状的任何建议?

r pca ggpubr

8
推荐指数
1
解决办法
3589
查看次数

ggpubr 未在 ggdotchart 中创建多个条形图

利用 中的示例包代码ggpubr,该ggdotchart函数不会创建单独的段,如示例中所示,而是只有一个段,尽管点似乎放置在正确的方向。有谁对可能出现的问题有任何提示吗?我认为这可能是由于 tibbles vs. df 等因素造成的,但我一直无法确定问题所在。

代码:

df <- diamonds %>%
  filter(color %in% c("J", "D")) %>%
  group_by(cut, color) %>%
  summarise(counts = n()) 

ggdotchart(df, x = "cut", y ="counts",
           color = "color", palette = "jco", size = 3, 
           add = "segment", 
           add.params = list(color = "lightgray", size = 1.5),
           position = position_dodge(0.3),
           ggtheme = theme_pubclean()
           )
Run Code Online (Sandbox Code Playgroud)

预期输出为: 在此输入图像描述

但我得到的是: 在此输入图像描述

r ggplot2 ggpubr

7
推荐指数
1
解决办法
1216
查看次数

如何创建图形和图像以在 R 中的同一面板上显示

我是 R 新手,并尝试使用 R 在同一页面上显示图形和图像。我尝试使用library(ggpubr)ggarrange()运行。

导入我使用的图像library(png)readPNG()导入我的图像。

我想要的最终结果是这样的:

在此输入图像描述

我用来创建面板的代码是:

library(ggpubr)
library(png)

data("ToothGrowth")

bxp <- ggboxplot(ToothGrowth, x = "dose", y = "len",
                 color = "dose", palette = "jco")
dp <- ggdotplot(ToothGrowth, x = "dose", y = "len",
                color = "dose", palette = "jco", binwidth = 1)

img1 <- readPNG("image1.png")
img2 <- readPNG("image2.png")

im_A <- ggplot() + background_image(img1) # tried to insert the image as background.. there must be a better way
im_B <- ggplot() …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggpubr

6
推荐指数
1
解决办法
2906
查看次数

ggarrange for 循环和 pdf 中的多页

这是我的问题:我正在循环我的数据。对于循环的每次迭代,我创建了 3 个在同一页面上组织的图,并且我希望每次迭代将一页存储在同一个 pdf 文件中。

我正在使用 ggpubr 包中的 ggarrange (我希望图 3 显示在第二行并跨越 2 列)。

这是我如何进行(在一些测试数据上):

我创建测试数据框:

tt <- data.frame(group=rep(c("A", "B"), 3), value=1:6)
tt2 <- data.frame(x=1:10, y=1:10)
Run Code Online (Sandbox Code Playgroud)

我在对象中创建和存储图:

p1 <- ggplot(tt, aes(x=group, y=value, fill=group)) +
    geom_dotplot(binaxis="y")
p2 <- ggplot(tt, aes(x=group, y=value, fill=group)) + geom_boxplot()
p3 <- ggplot(tt2, aes(x=x, y=y)) + geom_point()
Run Code Online (Sandbox Code Playgroud)

这有效:

pdf("test.pdf")
ggarrange(ggarrange(p1, p2),
        p3,
        nrow=2, 
        heights=c(2, 1)) 
dev.off()
Run Code Online (Sandbox Code Playgroud)

这不起作用(它不会引发错误,但 pdf 文件不包含任何页面):

pdf("test.pdf")
for(i in 1:2){
ggarrange(ggarrange(p1, p2),
        p3,
        nrow=2, 
        heights=c(2, 1)) 
}
dev.off()
Run Code Online (Sandbox Code Playgroud)

我想也许嵌套的 ggarrange 可能是一个问题,但这也不起作用:

pdf("test.pdf")
for(i in …
Run Code Online (Sandbox Code Playgroud)

for-loop r ggplot2 ggpubr

6
推荐指数
1
解决办法
3408
查看次数

在已布置的地块之间绘制“网格”

我正在使用4个不同的图,并且正在使用ggpubr软件包中的ggarrange()将它们放在一个图中。我准备了一个例子:

library(ggpubr)
library(ggplot2)

p1 <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point() + ggtitle("Plot 1")
p2 <- ggplot(iris, aes(x = Petal.Length, y = Petal.Width)) + geom_point() + ggtitle("Plot 2")
p3 <- ggplot(iris, aes(x = Sepal.Length, y = Petal.Width)) + geom_point() + ggtitle("Plot 3")
p4 <- ggplot(iris, aes(x = Petal.Length, y = Sepal.Width)) + geom_point() + ggtitle("Plot 4") +
  facet_wrap(~Species)

plot.list <- list(p1, p2, p3, p4)

ggarrange(plotlist = plot.list)
Run Code Online (Sandbox Code Playgroud)

输出: 在此处输入图片说明

我想在单个图上画一个边框,如下所示:

在此处输入图片说明

有没有办法画这个边界?谢谢!

r ggplot2 ggpubr

6
推荐指数
2
解决办法
77
查看次数

ggplot2:轴不显示所有刻度/中断

我目前正在使用 R 中的 ggpubr 包(基于 ggplot2)绘制数据。当我绘制包括标准误差在内的两个条件的均值时,y 轴应限制在 1 到 7 之间,我使用以下方式表示:

p <- ggline(data, x = "condition", y = "measure", 
            add = c("mean_se"), 
            ylab = "Measure")
ggpar(y, ylim = c(1, 7), ticks=T, yticks.by = 1)
Run Code Online (Sandbox Code Playgroud)

然而,在最终图中,y 轴仅显示 1 到 6 之间的值 见附图

我尝试使用本机 ggplot2 绘制相同的数据,但一旦我更改布局,问题仍然存在。对于 ggplot2 我使用:

p <- ggplot(data, aes(x=condition, y=measure)) + 
geom_line() +
geom_point()+
geom_errorbar(aes(ymin=measure-se, ymax=measure+se), width=.2, position=position_dodge(0.05)) +
ylab("measure") +
xlab("Condition")
p + scale_y_continuous(name="measure", limits=c(1, 7), breaks=c(1:7))
p + theme_classic()
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我解决这个问题,那就太好了。

编辑:根据评论中的建议,这是我尝试使用 ggplot2 绘制的数据:

structure(list(condition = structure(3:4, .Label …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggpubr

6
推荐指数
1
解决办法
4988
查看次数

我将 stat_regline_equation 与 ggscatter 一起使用。有没有办法指定系数的有效数字?

我发现使用stat_regline_equation(with ggscatter) 对于快速将回归方程添加到图中非常有用,特别是当我在多个方面进行多重回归时。然而,它似乎被困在 2 位有效数字上。我知道可以从 an 中提取系数lm,然后用注释显示它们。但从多个方面来看,这似乎确实令人畏惧和挑剔。是否可能有一个功能正在开发中(或者已经在这里,我不知道)可以用来执行此操作stat_regline_eq?我有希望,因为您可以stat_cor为 r 平方和 p 值等指定数字!任何建议或帮助将不胜感激。下面的可重现示例:

library(tidyverse)
library(ggpubr)

ggscatter(diamonds, x="carat", y="table", add="reg.line") +
  facet_wrap(~color) +
  stat_regline_equation(label.y=90)

summary(lm(table ~ carat, data=filter(diamonds, color=="D")))
Run Code Online (Sandbox Code Playgroud)

上面 ggscatter 的输出

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 56.46453    0.05438  1038.3   <2e-16 ***
carat        1.42911    0.07255    19.7   <2e-16 ***
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,D 中显示的截距ggscatter偏离了 0.5。

r ggplot2 ggpubr

6
推荐指数
1
解决办法
3323
查看次数

如何在 R 中使用 ggarrange 减少绘图之间的间隙?

我正在尝试创建一个华夫饼图,其中共有 9 个图。然而,无论我如何尝试,我都无法减少图中 3 列之间的间距。这就是我现在的情节。 华夫饼情节足球

到目前为止我使用的代码是这样的:-

fig1 <- waffle(Intvec, rows=10, size=2.0, 
           colors=c("#cb181d", "#238b45", "#0570b0", 
                    "#fec44f", "#ec7014", "#6a51a3"),
           title = "Inter")
fig1$layers[[1]]$aes_params$colour <- '#252525'
fin1 <- fig1 + theme(plot.background = element_rect(fill = "#252525", colour = "#252525")) +
theme(legend.position = "none") +
labs(y = "Serie A", main = "Inter") +
 theme(axis.title.y = element_text(color="#bdbdbd", size=18, face="bold"),
 plot.title = element_text(colour = "#ffffff", size = 20, face = "bold"))
fin1
Run Code Online (Sandbox Code Playgroud)

在使用 ggarrange 之前对其他 8 个地块执行相同的操作

fig <- ggarrange(fin1, fin2, fin3, fin4, fin5,
                 fin6, fin7, …
Run Code Online (Sandbox Code Playgroud)

r ggpubr waffle-chart

6
推荐指数
1
解决办法
8814
查看次数

标签 统计

ggpubr ×10

r ×10

ggplot2 ×8

for-loop ×1

pca ×1

plot ×1

waffle-chart ×1