#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()
Комментарии:
1. Первая цифра в ряду не может быть логарифмической шкалой, так как логарифмические шкалы не могут включать 0 или меньшие числа. Вместо этого вы можете попробовать
scale_x_continuous(trans = "pseudo_log")
, что может включать нули и отрицательные числа.