WebHU - Programozási kérdések és válaszok

A _custom for log scale annotációval kapcsolatban

log skála

naplóskála nélkül

Megvan ez a működő kód, és az annotation_custom segítségével megpróbálom megjeleníteni a számlálást az x tengelyen, de naplóskálával nem jelenik meg. Log skála nélkül az n érték az x tengelyen jelenik meg. Csatoltam mindkét képet, de log skála kóddal, nem jön. Távolítsa el a scale_y_continuous elemet, ha az n értéket szeretné látni az x tengelyen.

scale_y_continuous(trans = 'log10',breaks = transz_breaks('log10', function(x) 10^x), labels = trans_format('log10', math_format(10^.x)))

A teszteléshez az mtcars kódot használhatjuk

g<-ggplot(data=data_1,aes(x=DUR,y=val))+
  geom_boxplot(data=subset(data_1[,c("val","ID","DUR")],data_1$DUR %in% c(4,5)), aes(DUR,val))+
  geom_jitter(data=subset(data_1, !is.na(DUR)),aes(x=DUR,y=val),position=position_jitter(width=.1, height=0),alpha=0.5,size=4,color='grey')+
  labs(y = "val", x = "Duration",title='val data%')+
 # stat_compare_means(comparisons = comparison_1, label.y =  c(56,57,59))+
#  stat_compare_means(size=5,label.y = 50,method ="anova")+theme(
    axis.text.x = element_text(size=16,angle=0,vjust = 0.5),
    panel.grid.major.x = element_blank(),
    panel.grid.minor.x = element_blank())+
  theme(axis.ticks=element_line(colour = "black"),
        panel.border =  element_rect(colour = "black", fill=NA, size=0.5),panel.background = element_blank())+
  theme(legend.position = "none")+
  scale_x_discrete(name = 'DUR',breaks = c('3','4', '5', '6', '7', '9','11','12'), 
                   labels = c('Exp-3\nDur 6','T-4\nDur 7', 'T-5\nDur 8', 'T-6\nDur 9', 'T-7\nDur 10', '9','11','12'))+
  theme(axis.text.x = element_text(face = c('bold', 'bold', 'bold', 'bold', 'bold','plain', 'plain','plain'),size = c('11','11','11','11','11','9','9','9')))

xc <- c('4', '5', '6', '7', '9', '11')
x_axis <- c(1:6)
y_axis <- rep(10,6)
dfx <- data.frame(IFNg11_count, x_axis, y_axis)

for (i in 1:length((dfx$v1_count))){
  #  print(v1_count[i])
  g <- g + annotation_custom(
    grid::textGrob(label = paste0('n=',dfx$v1_count[i]),
                   # rot = 90,
                   gp = grid::gpar(fontsize = 11,col='blue')),
    xmin = dfx$x_axis[i],
    xmax = dfx$x_axis[i],
    ymin = dfx$y_axis[i],
    ymax = dfx$y_axis[i]
  )
}

g

data1 <- mtcars %>% dplyr::select(mpg, cyl, carb) %>% dplyr::rename(val=mpg, ID=cyl, DUR=carb)
data1$DURN <- data1$DUR + 3
data_1 <- data1
data_1$DUR <- as.character(data1$DURN)

p <- ggplot(data=data_1,aes(x=DUR, y=val))+
  geom_boxplot(data=subset(data_1[,c("val","ID","DUR")],data_1$DUR %in% c(4,5)), aes(DUR,val))+
  geom_jitter(data=subset(data_1, !is.na(DUR)),aes(x=DUR,y=val),position=position_jitter(width=.1, height=0),alpha=0.5,size=4,color='grey')+
  labs(y = "mpg", x = "carb plus three",title='mpg data%')  +
  # stat_compare_means(comparisons = comparison_1, label.y =  c(56,57,59))+
  # stat_compare_means(size=5,label.y = 20,method ="anova") +
  theme(
    axis.text.x = element_text(size=12,angle=0,vjust = 0.5),
    panel.grid.major.x = element_blank(),
    panel.grid.minor.x = element_blank(),
    axis.ticks=element_line(colour = "black"),
    panel.border =  element_rect(colour = "black", fill=NA, size=0.5),
    panel.background = element_blank()) +
  theme(legend.position = "none") +
  scale_x_discrete(name = 'DURATION', limits = c('4', '5', '6', '7', '9','11'),
                   labels = c('T-4\nDur 7', 'T-5\nDur 8', 'T-6\nDur 9', 'T-7\nDur 10', '9','11')
  )  +
  theme(axis.text.x = element_text(face = c( 'bold', 'bold', 'bold', 'bold','plain', 'plain'),size = c('11','11','11','11','9','9')))+
  scale_y_continuous(trans = 'log10',breaks = trans_breaks('log10', function(x) 10^x),
                     labels = trans_format('log10', math_format(10^.x)))

xc <- c('4', '5', '6', '7', '9', '11')
x_axis <- c(1:6)
y_axis <- rep(10,6)
dfx <- data.frame(xc, x_axis, y_axis)

#Add annotations
for (i in 1:length(unique(dfx$xc))){
  p <- p + annotation_custom(grid::textGrob(label = paste0('n=',dfx$xc[i]),
                                      # rot = 90,  ## if you wish to rotate
                                      gp = grid::gpar(fontsize = 10, col="red")),
                             xmin = dfx$x_axis[i],
                             xmax = dfx$x_axis[i],
                             ymin = dfx$y_axis[i],
                             ymax = dfx$y_axis[i]
  )
}

p

24.09.2020

Válaszok:


1

Log skálát kell alkalmazni rá. A demonstráció kedvéért logon belül megszoroztam az ymax-ot i-vel. Eltávolíthatja a szorzót, hogy az x tengely mentén kapja meg. Kérjük, nézze meg az alábbi kódot:

#Add annotations
for (i in 1:length(unique(dfx$xc))){
  p <- p + annotation_custom(grid::textGrob(label = paste0('n=',dfx$xc[i]),
                                            # rot = 90,  ## if you wish to rotate
                                            gp = grid::gpar(fontsize = 10, col="red")),
                             xmin = dfx$x_axis[i],
                             xmax = dfx$x_axis[i],
                             ymin = log10(dfx$y_axis[i]),
                             ymax = log10(i*dfx$y_axis[i])
  )
}
p

kimenet

24.09.2020
Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..