2016-06-21 9 views
0

Я стараюсь сделать хороший Boxplot. Как вы можете видеть на картинке, чтобы получить четкую визуализацию, необходимо «увеличить масштаб» в большую часть данных. Я сделал это с опцией ylim.R boxplot title outlier

Как вы можете видеть на картинке ниже, я создал основное название, выбросы проходят через заголовок, и это проблема.

Я думаю, что я мог бы решить проблему, удалив выбросы в исходных данных, но мне было интересно, можно ли разрезать «boxplotline» на 0,10, так что boxplot остается на рисунке.

Мой код до сих пор:

boxplot (genergy$Measurevalue, ylim= c(0,0.1), ylab = "Measured Value", 
    main="Boxplot Measured Value", col = "red") 

Boxplot

UPDATE: @Twitch_City: Я не думаю, что использовать другой ylim это решение. Например:

boxplot (genergy$Measurevalue, ylim= c(0,0.50), ylab = "Measured Value", 
    main="Boxplot Measured Value", col = "red") 

enter image description here

@ akash87, конечно. Данные:

enter image description here

+0

Не могли бы вы приложить некоторые данные? – akash87

+0

Я не уверен, почему выбросы появляются как линия? Они должны быть точками ... Если их так много, что точки появляются в виде строки, вы должны установить илим как минимум на 0,12, чтобы дать им место на сюжете. Просто удаление их из набора данных не является подходящим решением. –

+0

Я обновил свой вопрос (и ответил на ваши вопросы), надеюсь, мы это разрешим. –

ответ

0

Вы можете использовать outline=FALSE, чтобы избежать нанесения на график выбросов полностью. Затем вы можете предоставить данные об отдельных выбросах (например, используя fivenum или другое резюме).

Вот пример использования случайных данных, генерируемых из распределения по хи-квадрату с df = 3; данные довольно позитивно искажены, как кажется вашим данным. Сохраните статистику boxplot, чтобы получить информацию о выбросах.

N=500000 
dat <- rchisq(N, 3) 
dat.box <- boxplot(dat, cex=.5, outline=F, las=1) 
cat(fivenum(dat.box$out)) 

Другой альтернативой является построение кривой плотности ядра и добавление линий, соответствующих желаемым квантилям. Как указано ниже:

plot(density(dat), las=1) 
abline(v=median(dat), col='black') 
abline(v=quantile(dat, .25), lty=3, col='red') 
abline(v=quantile(dat, .75), lty=3, col='red')