2013-07-30 6 views
1

Я хочу построить некоторые данные со штрих-кодом. Скорее, я хочу, чтобы гистограмма и барплот казались логичным выбором. Я рисую просто отлично, но мне было интересно, есть ли способ разумно масштабировать ось y, чтобы округлить от самого высокого счета.Интеллектуальное масштабирование оси Y BarPlot R

Например я поставил YAxis в этом случае не должно быть 30, потому что я знал, что Strand.22 было 27 отсчетов в нем: barplot(unlist(d), ylim=c(0,30), xlab="Forward Reverse", ylab="Counts")

Graph

В будущем, я хочу этот скрипт для запуска сам по себе, поэтому было бы оптимальным, чтобы ось Y выбрала собственный лимит. Не дотягивая информацию от моей переменной «d», я не могу придумать хороший способ сделать это. Есть ли простой способ сделать это с помощью barplot? Будет ли другой плоттер работать лучше? Я видел вещи о ggplots, но это казалось супер сложным, и я не был уверен, что он сделает все лучше.

EDIT: Если я не выбираю ylim, он выбирает автоматически, и это то, что он решил, было лучше. Chart2

Я не согласен с выбором.

+1

Не указывайте 'ylim'? – Thomas

+0

@Thomas Если я не укажу ylim, он автоматически выбирается в диапазоне от 0 до 25 – Stephopolis

+1

Затем установите его как нечто вроде 'ylim = c (0,1.1 * max (unlist (d)))'. – Thomas

ответ

5

Если вы не указали ylim, R придумает что-то на основе данных. (Похоже, вам не нравится, это выбор, который является справедливым.)

Если вы зададите что-то на основе данных, таких как:

barplot(unlist(d), ylim=c(0,1.1*max(unlist(d))) 

R нарисует вам участок, который отражает максимальное значение данных , Этот пример просто берет максимум ваших значений и умножает на 1.1 (это может быть любое число), чтобы придать ему немного дополнительной высоты. R делает что-то похожее на это, когда вы делаете диаграмму рассеяния, но немного обрабатывает штриховки.

Смежные вопросы