2012-04-26 3 views
1

Моя проблема очень проста. Мне нужно построить серию данных в R, используя столбцы. Данные содержатся в векторе vet.В R, как строить графики только в определенном интервале данных?

Я использовал barplot, который отображает мои данные от первого до последнего: barplot(vet), и все в порядке.

Теперь, наоборот, я хотел бы нарисовать не все мои данные, а только часть их: от 10% до конца. Как я мог сделать это с помощью barplot()? Как я мог сделать это с помощью plot()?

Thanx

ответ

4

Вы должны подмножество данных перед построением графика:

##Work out the 10% quantile and subset 
v = vet[vet > quantile(vet, 0.1)] 
+0

Спасибо csgillespie. Другой короткий вопрос: теперь на оси х нет значения, и я не знаю, почему. Есть ли команда, чтобы сказать «показать увеличивающиеся числа от min до max на оси»? –

+0

Извините, я не понимаю, что вы имеете в виду. Задайте другой вопрос, но приведите примеры данных, которые иллюстрируют вашу проблему. – csgillespie

1

Это не совсем ясно, что вы хотите сделать.

Если вы хотите построить только подмножество баров (но все бары), то вы можете просто подмножить данные, прежде чем передавать их на barplot.

Если вы хотите построить все полосы, но только ту часть, которая превышает 10% (не включает 0), вы можете сделать это, установив аргумент ylim. Но очень не рекомендуется делать штрих-код, который не включает 0. Вам может быть лучше использовать dotplot вместо barplot, если 0 не имеет смысла.

Если вы хотите использовать обычный график, но хотите исключить построение за пределами данного окна внутри графика, то функция clip может быть тем, что вы хотите.

gap.barplot функция от plotrix упаковка также может быть тем, что вы хотите.

+0

Не мог решить, был ли ответ csgillespie лучше из-за экономии или ваш ответ был лучше из-за ширины. –

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