Подтвердить что ты не робот

R шкала шкалы Y слишком короткая

Я пытаюсь создать barplot, но масштаб оси Y слишком короткий. Здесь мой код:

barplot(as.matrix(dat), log="y", ylim=c(10000,100000000), beside=TRUE,
        ylab = "Number of reads", col = c("gray","black","white"))

short y axis

Он покидает комнату для оси (согласно ylim), но не заполняет фактическую ось. Я прошел через barplot и попробовал несколько вещей (от googling вокруг, я думал, что xpd = F, yaxs = c(10000,10000000,5 должен работать, но это не так).

Я знаю, это второстепенная вещь, но это именно та проблема, с которой я застрял целую вечность, вместо того, чтобы фактически работать, поэтому любая помощь будет очень признательна!

Изменить: Приветствия для входных парней!

Я сделал изначально сюжет без илим, но он заканчивается еще более причудливой осью (с той же проблемой); Я на самом деле выбрал свои значения ylim, чтобы дать ему более удобную ось. original no ylim

Здесь данные:

dat <- read.table(text="D2,D3n,D3m,D4n,D4m
21234722,34262282,31920464,25486357,20712943
35343,64403,22537,39934,46547
126646,312286,101105,81537,76944", header=TRUE, sep=",")

Изменить 2: @DWin все исправило - я обновил свой R, и теперь он прекрасно выглядит - спасибо всем!

4b9b3361

Ответ 1

Я вижу, что вы пытаетесь установить ylim bad, вы даете плохие значения. Это изменит масштаб графика (например, масштабирование). Например, см. Это:

par(mfrow=c(2,1))
tN <- table(Ni <- stats::rpois(100, lambda = 5))
r <- barplot(tN, col = rainbow(20),ylim=c(0,50),main='long y-axis')
r <- barplot(tN, col = rainbow(20),main='short y axis')

enter image description here

Другим вариантом является построение без осей и установка его вручную с помощью axis и usr:

require(grDevices) # for colours
par(mfrow=c(1,1))
r <- barplot(tN, col = rainbow(20),main='short y axis',ann=FALSE,axes=FALSE)
usr <- par("usr")
par(usr=c(usr[1:2], 0, 20))
axis(2,at=seq(0,20,5))

enter image description here

Ответ 2

barplot(data)

введите описание изображения здесь

barplot(data, yaxp=c(0, max(data), 5))

введите описание изображения здесь

yaxp = c (ось minY, максимальная ось Y, интервал)