График выражения с линейной осью и осью log10

#r #ggplot2 #plot #scatter-plot #genetics

Вопрос:

Я пытаюсь изобразить что-то похожее на прикрепленное изображение. Поначалу это может показаться довольно простым, просто построить в виде логарифмического масштаба каждое из желаемых значений. Проблема возникает, когда этот небольшой сегмент от 0-10^0. Как я вижу, график содержит значения log10 TPMs от 10^0 до 10^4, до этого значения от 0-10^0 находятся в линейной форме ( я могу ошибаться). Поэтому я пытался создать графики такого типа, но я только что смог отобразить все значения в виде логарифмической шкалы, которая обеспечивает что-то вроде графика 2 (игнорируйте красные точки). Но, как вы можете заметить, раздел, о котором я говорил, — это не то, чего я хочу.

Другая вещь, которую я попытался, состояла в том, чтобы избавиться от всех тех точек, значение которых было меньше 1, иначе 10^0, и, очевидно, это больше похоже на эталонный график, но я теряю данные. Пожалуйста, смотрите график 3.

У вас есть какие-либо предложения о том, как я могу получить желаемый шаблон без удаления каких-либо данных?

Мои данные выглядят так = info.B1 :

              cond1     cond1.2     cpm.c1   lcpm.c1      cond2    cond2.2
    1:   10.351131    8.822777   9.586954 0.9816806  27.808819  31.427814
    2:    2.929565    1.729956   2.329761 0.3673113   3.928547   4.798140
    3:   17.430914   10.264407  13.847660 1.1413764   1.898062  17.633163
    4:  135.443571  132.514649 133.979110 2.1270371  92.784344  90.384954
    5:   62.155611   61.009790  61.582701 1.7894587  86.781171  80.728698
   ---                                                                   
10791:   22.557653   16.607580  19.582617 1.2918707  15.581767  15.773884
10792:   33.055262   27.563970  30.309616 1.4815804   8.563351   4.558233
10793:  159.026572  199.521621 179.274096 2.2535175 701.753333 708.925121
10794:   26.952001   34.541460  30.746730 1.4877989   2.295331  10.316000
10795:   39.012045   61.817103  50.414574 1.7025561  12.668462   9.536302
           cpm.c2   lcpm.c2
    1:  29.618316 1.4715604
    2:   4.363343 0.6398194
    3:   9.765613 0.9896995
    4:  91.584649 1.9618227
    5:  83.754934 1.9230104
   ---                     
10791:  15.677825 1.1952858
10792:   6.560792 0.8169562
10793: 705.339227 2.8483980
10794:   6.305666 0.7997309
10795:  11.102382 1.0454162
 

И это в значительной степени код сюжета

 gg <- ggplot(info.B1, aes(x=cpm.c1, y=cpm.c2))  geom_point(size=1)  
        scale_y_continuous(trans='log10',breaks = c(0,1, 10, 100, 1000, 10000))   
        scale_x_continuous(trans='log10',breaks = c(0,1, 10, 100, 1000, 10000)) 

print(gg)
dev.off()
 

первое испытание
Количество на миллион (CPM) график выражения

испытание 2

Комментарии:

1. Первая цифра в ряду не может быть логарифмической шкалой, так как логарифмические шкалы не могут включать 0 или меньшие числа. Вместо этого вы можете попробовать scale_x_continuous(trans = "pseudo_log") , что может включать нули и отрицательные числа.