R 关于注释(日志比例自定义)
我有这个工作代码,使用注释_custom,我试图在x轴上显示计数,但不显示对数刻度。 在没有对数刻度的情况下,n值显示在x轴上。我已经附上了这两个图像,但与日志规模代码,它不会来。移除“缩放y连续”以查看x轴上的n值 连续缩放(trans='log10',breaks=trans\u breaks('log10',函数(x)10^x), labels=trans_格式('log10',math_格式(10^.x))) 可以使用mtcars代码进行测试R 关于注释(日志比例自定义),r,ggplot2,R,Ggplot2,我有这个工作代码,使用注释_custom,我试图在x轴上显示计数,但不显示对数刻度。 在没有对数刻度的情况下,n值显示在x轴上。我已经附上了这两个图像,但与日志规模代码,它不会来。移除“缩放y连续”以查看x轴上的n值 连续缩放(trans='log10',breaks=trans\u breaks('log10',函数(x)10^x), labels=trans_格式('log10',math_格式(10^.x))) 可以使用mtcars代码进行测试 g<-ggplot(data=data
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
g您需要对其应用对数刻度。为了演示,我将ymax乘以log中的I。您可以删除倍增器,使其沿x轴移动。请参阅下面的代码:
#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
#添加注释
对于(1中的i:长度(唯一(dfx$xc))){
P