0

(我知道此处讨论的类似问题,但无法使这些解决方案发挥作用

我使用这段代码成功地创建了这个在 y 轴上带有线性刻度的图。重要的一点是geom_rect(),它创建了蓝线,当我将 y 轴转换为 log2 比例时,蓝线会消失。

plot <- ggplot(data, aes(x=ï.., y=Casirivimab)) + geom_point(size = 1)
  #plot <- plot + scale_y_continuous(trans='log2', breaks = trans_breaks("log2", function(x) 2^x),labels = trans_format("log2", math_format(2^.x)))
  plot <- plot + geom_rect(aes(xmin=ï..-.1, xmax=ï..+.1, ymin=-Inf, ymax=Inf, fill = Cas.Epitope), alpha=0.5, stat="identity")
  plot <- plot + scale_fill_manual(values = c("x"="blue"), na.value= "grey92")
  plot <- plot + coord_cartesian(xlim = c(340,510)) 
  
  plot <- plot + theme(panel.background = element_rect(colour = "grey92", fill = "grey92"))
  plot <- plot + labs(x = "amino acid position", y = "fold change", title = "Casirivimab", color = "Epitope Position")
  plot_Cas <- plot 
  plot_Cas

这是结果图 使用原始线性轴绘制

一旦我在 log 2 转换中添加 log2 转换,geom_rect 创建的蓝线就会消失。当我将轴转换为 log2 刻度时,如何防止这些蓝线消失?

plot <- ggplot(data, aes(x=ï.., y=Casirivimab)) + geom_point(size = 1)
  **plot <- plot + scale_y_continuous(trans='log2', breaks = trans_breaks("log2", function(x) 2^x),labels = trans_format("log2", math_format(2^.x)))**
  plot <- plot + geom_rect(aes(xmin=ï..-.1, xmax=ï..+.1, ymin=-Inf, ymax=Inf, fill = Cas.Epitope), alpha=0.5, stat="identity")
  plot <- plot + scale_fill_manual(values = c("x"="blue"), na.value= "grey92")
  plot <- plot + coord_cartesian(xlim = c(340,510)) 
  
  plot <- plot + theme(panel.background = element_rect(colour = "grey92", fill = "grey92"))
  plot <- plot + labs(x = "amino acid position", y = "fold change", title = "Casirivimab", color = "Epitope Position")
  plot_Cas <- plot 
  plot_Cas 

这是结果图: 改造后的情节

非常感谢您提前提供的帮助。

这里的 Ps 是数据集,图表上绘制的数据是从中获取的。绘制的数据仅适用于“Casirivimab”。

structure(list(ï.. = c(18L, 69L, 80L, 141L, 215L, 222L, 241L, 
246L, 247L, 321L, 333L, 334L, 335L, 337L, 339L, 340L, 341L, 343L, 
344L, 345L, 346L, 348L, 351L, 354L, 357L, 359L, 360L, 361L, 367L, 
378L, 384L, 403L, 405L, 406L, 408L, 409L, 415L, 416L, 417L, 417L, 
417L, 420L, 421L, 435L, 439L, 440L, 441L, 444L, 444L, 445L, 446L, 
447L, 448L, 449L, 450L, 452L, 452L, 453L, 455L, 456L, 456L, 456L, 
457L, 458L, 460L, 470L, 472L, 473L, 474L, 475L, 475L, 476L, 477L, 
478L, 478L, 479L, 481L, 482L, 483L, 484L, 484L, 485L, 486L, 486L, 
486L, 486L, 486L, 487L, 488L, 489L, 490L, 490L, 492L, 493L, 494L, 
494L, 495L, 496L, 498L, 500L, 501L, 502L, 503L, 504L, 505L, 508L, 
509L, 519L, 537L, 570L, 583L, 655L, 681L, 681L, 692L, 701L, 716L, 
859L, 982L, 1118L, 1147L, 1163L, 1229L), Mutation = c("L18F", 
"Δ69-70", "D80A", "Δ141-146", "D215G", "A222V", "Δ242-247", 
"R246I", "S247R", "Q321L", NA, NA, NA, NA, NA, NA, "V341I", NA, 
NA, NA, NA, "A348T", NA, "N354D", NA, "S359N", NA, NA, "V367F", 
"K378R", "P384L", NA, NA, "E406W", "R408I", "Q409E", NA, NA, 
"K417E", "K417N", "K417T", NA, NA, "A435S", "N439K", "N440K", 
NA, "K444Q", "K444T", "V445A", "G446V", NA, NA, "Y449N", "N450D", 
"L452Q", "L452R", "Y453F", "L455F", "F456A", "F456K", "F456R", 
NA, "K458R", "N460T", NA, "I472V", NA, NA, "A475R", "A475V", 
"G476S", "D.2 (S477N)", "T478I", "T478K", "P479S", NA, NA, "V483A", 
"E484K", "E484Q", "G485D", "F486K", "F486L", "F486R", "F486S", 
"F486V", "N487R", NA, NA, "F490L", "F490S", NA, "Q493K", "S494P", 
"S494R", NA, NA, NA, NA, "N501Y", NA, NA, NA, NA, "Y508H", NA, 
"H519P", "K537R", "A570D", "E583D", "H655Y", "P681H", "P681R", 
"I692V", "A701V", "T716I", "T859N", "S982A", "D1118H", "S1147L", 
"D1163Y", "M1229I"), Cas.Epitope = c(NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, "x", NA, NA, NA, NA, NA, 
NA, NA, "x", "x", NA, "x", NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, "x", "x", "x", NA, NA, NA, NA, NA, NA, NA, 
NA, NA, "x", "x", "x", NA, NA, NA, NA, NA, NA, NA, "x", "x", 
"x", "x", "x", "x", "x", "x", "x", "x", "x", NA, NA, NA, "x", 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), Casirivimab = c(0.766666667, 
1.2, 0.5, 0.9, 1.2, 1.25, 0.866666667, 0.7, NA, 1.6, NA, NA, 
NA, NA, NA, NA, 0.8, NA, NA, NA, NA, 1, NA, 1.4, NA, 0.5, NA, 
NA, 0.6, 0.8, 1.9, NA, NA, 84.4, 0.5, 1.3, NA, NA, 62.8, 34.8, 
7.1, NA, NA, 1.1, 1.22, 1, NA, 0.95, 2, 1.75, 0.4, NA, NA, NA, 
1.4, 5.8, 3.966666667, 73.91428571, 89.95, NA, NA, 3, NA, 0.8, 
NA, NA, 2.2, NA, NA, 44.4, NA, 3.3, 2.45, 0.866666667, 2.9, 0.9, 
NA, NA, 0.4, 18.84166667, 26.5, 3.7, 100, 48.6, 100, 100, 75.2, 
100, NA, NA, 2.15, 0.866666667, NA, 42.66666667, 2.966666667, 
0.8, NA, NA, NA, NA, 0.9, NA, NA, NA, NA, 1.1, NA, 0.7, 1, 0.433333333, 
1, 1.2, 0.833333333, 1.2, 0.3, 0.7, 0.366666667, 1.3, 1, 0.9, 
2.1, 0.8, 1.8), Bam.Epitope = c(NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "x", 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "x", 
"x", NA, "x", NA, "x", "x", "x", "x", NA, NA, NA, NA, "x", NA, 
NA, NA, NA, NA, NA, NA, NA, NA, "x", "x", "x", "x", "x", "x", 
"x", "x", "x", "x", "x", "x", "x", "x", "x", "x", "x", "x", "x", 
"x", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), Bamlanivimab = c(NA, 
0.5, NA, NA, NA, 0.5, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, 0.4, NA, NA, NA, NA, 1.3, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, 100, 1.55, NA, NA, NA, 4.2, 
NA, NA, NA, NA, NA, NA, NA, 2.5, NA, NA, 1.1, 2.6, NA, NA, NA, 
NA, NA, 100, 100, NA, NA, NA, 100, NA, NA, 0.9, NA, NA, 100, 
100, NA, NA, 100, 100, NA, NA, NA, NA, 1.1, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA), Ete.Epitope = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "x", NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, "x", "x", "x", "x", "x", "x", "x", NA, 
"x", "x", "x", "x", NA, NA, NA, NA, "x", "x", "x", "x", "x", 
NA, "x", "x", "x", "x", NA, "x", "x", "x", "x", "x", "x", "x", 
NA, NA, "x", "x", "x", "x", "x", "x", NA, NA, NA, NA, NA, NA, 
"x", "x", NA, "x", "x", "x", "x", "x", "x", NA, "x", NA, NA, 
NA, "x", "x", "x", "x", NA, NA, NA, "x", "x", NA, "x", "x", NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA), Etesevimab = c(0.6, 0.65, NA, 0.6, NA, 1.2, 0.2, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 83, 49, 
NA, NA, NA, 0.35, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
1.4, 1.4, NA, 14.9, 32.6, 100, NA, NA, 100, NA, NA, NA, NA, 100, 
16.7, NA, 0.6, 0.6, NA, NA, NA, NA, NA, 3.125, 1.3, NA, NA, 2.9, 
17.9, NA, NA, 100, NA, NA, 4.5, 0.8, NA, NA, 0.55, 3.3, NA, NA, 
NA, NA, 2.25, NA, NA, NA, NA, NA, NA, NA, NA, 0.2, 0.3, 0.5, 
0.5, NA, NA, NA, 0.4, NA, 0.8, 0.5, NA, 0.7, NA), Imde.Epitope = c(NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, "x", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "x", "x", "x", 
"x", "x", "x", "x", "x", "x", "x", "x", "x", NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, "x", "x", NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
), Imdevimab = c(0.7, 0.65, 0.6, 0.95, 0.7, 0.675, 0.433333333, 
0.7, NA, 1.2, NA, NA, NA, NA, NA, NA, 0.8, NA, NA, NA, NA, 0.7, 
NA, 0.7, NA, 0.6, NA, NA, 0.4, 0.6, 1.3, NA, NA, 100, 0.4, 1, 
NA, NA, 1.166666667, 0.566666667, 1.1, NA, NA, 1, 24.66, 95.6, 
NA, 68, 100, 68.26666667, 58.35, NA, NA, NA, 18.6, 4.4, 3.15, 
1.5625, 1.2, NA, NA, 0.3, NA, 0.4, NA, NA, 1, NA, NA, 0.3, NA, 
0.5, 1.375, 0.933333333, 1.4, 1.6, NA, NA, 0.6, 2.169230769, 
1.1, 2.2, 0.4, 0.8, 0.3, 0.4, 2.05, 0.1, NA, NA, 2.933333333, 
2.35, NA, 2.3, 1.233333333, 3.2, NA, NA, NA, NA, 0.633333333, 
NA, NA, NA, NA, 0.7, NA, 0.5, 1.2, 0.466666667, 1, 1.3, 0.766666667, 
0.9, 0.6, 0.8, 0.433333333, 1.2, 1.233333333, 0.733333333, 0.9, 
1, 0.3), Sotro.Epitope = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, "x", "x", "x", "x", "x", "x", "x", "x", "x", "x", "x", NA, 
NA, "x", "x", "x", "x", "x", NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "x", NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, "x", NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA), Sotrovimab = c("1.1", "0.8", 
NA, "0.8", NA, "0.8", "0.5", NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, "0.7", "1", NA, NA, NA, "1.05", 
NA, NA, NA, NA, NA, NA, NA, NA, "#DIV/0!", NA, NA, NA, "1", NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "#DIV/0!", "0.5", 
"0.7", NA, NA, NA, NA, NA, "0.45", NA, NA, NA, "1.5", NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, "0.8", NA, NA, NA, NA, NA, "2.35", 
NA, NA, NA, NA, NA, NA, NA, NA, "1.8", "1.1", "0.8", "0.7", NA, 
NA, NA, "1", NA, "0.7", "0.5", NA, "#DIV/0!", NA), Regdan.Epitope = c(NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "x", 
NA, NA, NA, NA, NA, NA, "x", "x", "x", NA, NA, NA, NA, NA, NA, 
NA, NA, NA, "x", NA, NA, "x", "x", "x", "x", "x", "x", "x", "x", 
"x", NA, NA, NA, "x", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, "x", NA, NA, NA, "x", "x", "x", "x", "x", NA, NA, "x", 
"x", "x", "x", "x", "x", "x", "x", "x", "x", NA, NA, NA, NA, 
NA, "x", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA), Regdanivimab = c(NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, 0.7, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, 35, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, 8.7, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 5.5, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA)), class = "data.frame", row.names = c(NA, 
-123L))
4

0 回答 0