2015-06-09 4 views
1

Я пытаюсь создать диаграмму в Python, используя библиотеку ggplot.Бар диаграммы на ggplot с Python

Мои данные в этом формате:

id total 
1 3 
1 4 
1 7 
2 3 
2 2 
2 5 

Я хочу создать гистограмму, где каждый идентификатор имеет свой собственный бар. Y будет средним значением общего столбца для конкретного идентификатора, а также добавит область ошибок с min и max для каждого бара.

Я новичок на ggplot. Я работал с графиками разброса и графиком, но не с гистограммой.

я обнаружил, что столбиковые диаграммы могут быть созданы с

gg = ggplot(mydata, aes(....)) + geom_bar()

Но я не могу понять, что добавить на ИСЗ.

+0

Хорошо, в R ggplot есть ['stat_summary'] (http://docs.ggplot2.org/0.9.3/stat_summary.html) для этого. Я не вижу такой функции в версии Python. Я бы рекомендовал просто изменить данные и использовать 'ggplot (mydaya, aes (x = 'factor (x)', y = y)) + geom_bar()'. Я не уверен в синтаксисе, не имею версию Python в ближайшем пространстве. – m0nhawk

ответ

0

В соответствии с первоначальным R ggplot2 docs (я добавил некоторые жирный шрифт):

высот баров, обычно представляю собой одно из двух: либо количество случаев в каждой группе, или значение в столбце данных . По умолчанию geom_bar использует stat = "bin". Это делает высоту каждого бара, равную количеству случаев в каждой группе, и равна , несовместимой с значениями отображения для y-эстетики. Если вы хотите, чтобы значения отображали значения в данных, используйте stat = "identity" и сопоставьте значение с эстетикой y.

Это также работает в удивительном порте Python:

ggplot(mydata, aes(x='id', y='total')) + geom_bar(stat='identity') 

который выглядит как: Simple ggplot bar chart

Рентгеновских тики, очевидно, немного странно в этом случае, но я оставлю что для другого вопроса!

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