эквивалентно "барной" функции MatLab в R? - PullRequest
0 голосов
/ 09 ноября 2011

Есть ли в R функция, которая выполняет ту же работу, что и функция Matlab " bar "?

R имеет функцию «barplot» в графике библиотеки, однако, это не то же самое.

Панель Matlab (X, Y) (дословная выдержка из документации MATLAB ) "рисует полосу для каждого элемента в Y в местах, указанных в X , где X - вектор определение интервалов по оси X для вертикальных стержней. " (акцент мой)

Однако функция R barplot не позволяет указывать местоположения.

Возможно, в ggplot2 есть метод, который поддерживает это? Я могу найти только стандартные гистограммы в ggplot2.

Ответы [ 4 ]

5 голосов
/ 09 ноября 2011

Нет, barplot - это не то же самое, что bar, но вы должны прочитать всю справку. Вы можете сделать много вещей, чтобы расположить бары. Первый - это просто их порядок в Y. Вы можете вставить пробелы, если хотите (дополнительные 0). Если у вас есть X и Y, тогда сортируйте Y по X (Y[order(X)]) и постройте его. Если вам нужно изменить положение, используйте аргументы «пробел» и «ширина». Я полагаю, что это не так просто, как указание значений X, но, безусловно, более полезно в большинстве ситуаций. Как правило, вы хотите настроить ширину стержней и промежутки между стержнями. Их положение на оси X должно быть произвольным. Если положение на оси X действительно имеет смысл, то вам следует использовать линейные графики, а не гистограммы.

3 голосов
/ 09 ноября 2011

В R:

barplot(rbind(1:10, 2:11), beside=T, names.arg=1:10)

enter image description here

В MATLAB:

>> bar(1:10, [(1:10)' (2:11)'])

enter image description here

1 голос
/ 09 ноября 2011

Читать на par. Затем обратите внимание, например:

x<-c(1,2,4,5,6) 
y<-c(3,4,3,4,2) 
plot(x,y,type='h',lwd=6)

Редактировать: да, я знаю, что это (пока) не выводит несколько наборов данных, но я надеюсь, что вы сможете увидеть простые способы сделать это с промежутками, цветами и т. Д., Заданными по вашему вкусу :-)

0 голосов
/ 09 ноября 2011

Звучит смутно, как R stepfun.С другой стороны, нужно знать, что означает «нарисовать планку», прежде чем сказать, что это не то же самое, что и * 1002., тем не мение.@Джона Колби следует поздравить с добавлением некоторой специфики в обсуждение.Функция оси - это, вероятно, то, что Квант Гай нуждается в образовании.

...