如何自动增加最大值和重要性条之间的距离并在中间有重要性标签?

我有以下图形:

如何自动增加最大值和重要性条之间的距离并在中间有重要性标签?

我的数据如下:

structure(list(Time = structure(c(1L,1L,2L,3L,3L),.Label = c("30 (min)","60 (min)","90 (min)"),class = "factor"),CC = c(48L,48L,0L,0L),logSG = c(-2.33741545784603,-1.18658485472471,-0.491782643217124,3.69448372083377,4.5407591512423,2.61268192437219,3.86060133588356,-1.96969067772072,1.14869526758596,0.415146522977509,-0.493822991230427,4.41801522125664,0.77745996724697,3.45614515898878,5.0294054937422,4.11407093388758,5.89718763629734,5.33908355911139,5.07344324140438,6.31055955347468,6.26791733683611,6.25584328404724,5.07460803880627,-1.14240744866778,6.77709746094989,5.83911536618483,2.67579059651909,-0.0581215539811307,7.58033720832469,6.76794295683794,6.93585146776912,5.73947045554567,6.14529708204681,5.36852954870684,6.37769853018143,6.69908148274872,6.85439184110933,5.92974818275192,8.00503455012466,6.90732500418721,7.72752338652543,3.69803617369367,3.94835058665366,0.196314345332914,5.14495801055901,7.13859356791309,8.10996479358517,5.69942374886411,6.97130919360524,7.76540068911542,7.40190399204928)),row.names = c(NA,-62L),class = c("data.table","data.frame"),.internal.selfref = <pointer: 0x7faf890130e0>)

我的代码如下:

p <- ggboxplot(test,x="CC",y="logSG",color ="CC",palette=c("#E69F00","#56B4E9"),alpha=.9,add="jitter",shape="CC",facet.by="Time",short.panel.labs=F, outlier.shape = NA,rotate=T)

p <- p + stat_compare_means(comparisons= list(c("48","0")),label="p.signif",size=8)

facet(p,ncol=1)+ 
  theme_classic(base_size = 23)+
  theme(
    legend.position = "top",panel.grid.major = element_line(),panel.grid.minor.x = element_line(color="gray",size=0.1))

我想要:

  1. 显着条位于最左侧(条之间有更多空间,并且在90分钟(分钟)的情况下最大值)。
  2. 在重要性栏的右侧和中间具有重要性标签(ns,*,**)
  3. 更改抖动颜色以匹配填充颜色(但箱线图仍保留黑色边框)

这些是我一直在使用的参考:Link Link Link

谢谢您的帮助。


当前进度:

如何自动增加最大值和重要性条之间的距离并在中间有重要性标签?

整个数据:

structure(list(Time = c("30 (min)","30 (min)","90 (min)",CC = c("48","48","0","0"
),-1.5359551356743,-0.706559805935718,0.708497262914779,0.215424357929406,-0.669164283172473,-1.05979396415459,-2.31882739909547,0.42055843809296,0.0345207061138516,0.490214669861868,-0.40943698558059,5.29576170328759,3.00786490791837,1.13692090507591,3.90397709096783,0.959448191357494,0.812996456139986,0.387663144815093,5.70801342338959,4.06129455674501,2.96113466195081,4.31811283391345,6.02174904012545,3.63890951803723,4.15432961681392,5.62437201872284,-0.172668794962532,0.885684238138353,0.458386726057045,0.93033451187609,-0.916540763129364,0.672683864147678,-0.211359094917249,0.855485393729508,1.51470800852286,1.25969589114081,5.55360595405316,0.608132989683934,0.766711429029875,0.0230319883972058,0.989351045425203,0.764590061654141,-3.04352293739034,0.113154350383661,0.477535633527187,0.790376357072563,5.33363551675867,-1.39120640548091,2.81038881541196,0.909530012962848,-1.32462975739634,2.87635990847717,6.14131074674228,4.94317084553412,3.6735726222342,-2.83568067112007,-1.08417160451332,-1.79669470441478,4.34702414757653,4.97832646498993,5.68601129052879,7.32969721447871,5.88124362908576,3.95375517761101,6.68105022814714,6.6552388904731,6.1554345645557,6.16783228738057,7.40421295863169,4.42098910134338,4.34381971828829,4.05138376423435,5.66021948971494,6.4161744214807,-1.59148885378724,4.96717393543566,4.05185180788696,7.33240191526984,4.40167592777489,5.00079217967616,4.87041813930411,5.4798591602912,5.8840457498263,4.55901232476737,-1.60364223983752,2.82972718294857,6.25577118949695,6.72479834475368,6.73711432644271,6.00469556652024,4.37286341669336,6.95437999496909,5.54915990369101,7.19992007355504,6.31917969823023,6.88303863646214,5.80298414483425,5.42427157341921,6.02067813111897,7.06513961445597,5.14873092690417,4.99432854142356,4.97613488925218,0.241208512880646,5.61581002162685,-0.428836094431404,6.969161017026,6.4311112305739,-0.488846717047216,6.06472694568864,5.91882885723854,6.75183187908138,6.09707860117223,7.51181134639969,7.70390188945798,7.06474253499617,6.06324707449019,7.01225437796713,4.38046495874971,4.93237626658016,6.42814116590149,6.52016300282035,5.631222408333,6.00091375144581,7.06335795773428,6.5320791891557,7.61232026906213,6.5686929033117,2.95760357016318,0.536708150079365,-0.762215947784048,0.813262309586256,0.09473936757137,4.8306952746183,6.08818108540523,-2.28999797748857,4.89645977132752,4.92651109236787,5.61854564628758,4.6634157508477,5.61755666066751,7.53514925442216,8.07256779525966,8.35325245369136,7.4087861988897,7.39596849037868,7.59049483086555,6.51587453730492,6.3129579179017,7.5183813575123,7.76889903023342,7.95470129243914,7.2816428879755,7.66318176453257,6.74009737270994,6.68085256625662,7.40190399204928,8.60372201882463,6.62079617953904,8.22461607745356)),-248L),.internal.selfref = <pointer: 0x7faf890130e0>)

当前代码:

ggplot(result,aes(x = as.factor(CC),y = logSG,color = as.factor(CC),shape = as.factor(CC),fill = as.factor(CC)))+
  geom_boxplot(color = "black",alpha = 0.2,outlier.shape = NA)+
  geom_jitter(width = 0.2)+
  geom_signif(comparisons = list(c("48",y_position = max(result$logSG,na.rm = TRUE)+1,hjust = -.75,vjust = 1.5,color = "black",show.legend = FALSE,textsize = 8,map_signif_level=TRUE)+
  scale_color_manual(values = c("#E69F00","#56B4E9"))+
  scale_fill_manual(values = c("#E69F00","#56B4E9"))+
  facet_wrap(Time~.,ncol = 1)+
  ylim(min(result$logSG,na.rm = TRUE)-.25,max(result$logSG,na.rm = TRUE)+3.5)+
  coord_flip()+
  labs(color = "CC",fill = "CC",shape = "CC",x = "CC")+
  theme_classic(base_size = 23)+
  theme(
    legend.position = "top",size=0.1))  

我认为coord_fliphjustvjust上做得很时髦。反正有什么要操纵的?如果没有,我将使用插画器或其他工具。

tinket 回答:如何自动增加最大值和重要性条之间的距离并在中间有重要性标签?

使用stat_compare_means时,我没有找到一种方法来获取想要调整标签位置以达到重要性的方式(我认为刻面混淆了label.y参数的使用),因此我使用了geom_signif包中的ggsignif函数,并且对hjustvjusty_position进行了一些操作。

我还使用ggplot而不是ggboxplot来绘制箱线图,因为这样您就可以分别控制箱线图和抖动点的颜色和填充。

这是我根据您的示例使用的代码:

library(ggplot2)
library(ggsignif)
ggplot(df,aes(x = as.factor(CC),y = logSG,color = as.factor(CC),shape = as.factor(CC),fill = as.factor(CC)))+
  geom_boxplot(color = "black",alpha = 0.2)+
  geom_jitter(width = 0.2)+
  geom_signif(comparisons = list(c("48","0")),y_position = 9,hjust = -0.75,vjust = 1.5,color = "black",show.legend = FALSE,textsize = 8,map_signif_level=TRUE)+
  scale_color_manual(values = c("#E69F00","#56B4E9"))+
  scale_fill_manual(values = c("#E69F00","#56B4E9"))+
  facet_wrap(Time~.,ncol = 1)+
  ylim(-3,10)+
  coord_flip()+
  labs(color = "CC",fill = "CC",shape = "CC",x = "CC")+
  theme_classic(base_size = 23)+
  theme(
    legend.position = "top",panel.grid.major = element_line(),panel.grid.minor.x = element_line(color="gray",size=0.1))  

enter image description here

它看起来像您想要达到的目标吗?

本文链接:https://www.f2er.com/2708202.html

大家都在问