2013-10-15 11 views
8

Próbuję zrobić histogram prostej listy liczb w python przy użyciu ipython notebook i ggplot for python. Korzystanie z pylab, to dość łatwe, ale nie mogę dostać ggplot do pracy.Jak zrobić histogram w notebooku ipython przy użyciu ggplot2 (dla python)

Używam tego kodu (na przykładzie diament histogramu, który działa dla mnie):

from ggplot import * 
a = [1, 1, 2, 1, 1, 4, 5, 6] 
p = ggplot(aes(x='carat'), data=a) 
p + geom_hist() + ggtitle("Histogram of Diamond Carats") + labs("Carats", "Freq") 

Korzystanie ipython & pylab mogę zrobić histogram z tylko hist(a) i wyświetla. Jak utworzyć histogram przy użyciu ggplota?

+0

Czy chcesz ggplot ze względu na styl lub jest inny powód. Jeśli jest to pierwsze, możesz wypróbować mpltools, rozszerzenie matplotlib, które może naśladować styl ggplot (zobacz http://tonysyu.github.io/mpltools/auto_examples/style/plot_ggplot.html). – Jakob

+0

Chcę głównie używać ggplot, ponieważ wydaje się interesujący. – Rory

Odpowiedz

17

Jeśli chcesz tylko utworzyć histogram liczb w twoim wektorze "a", jest kilka problemów.

Po pierwsze, ggplot akceptuje dane w postaci DataFrame pandy, więc musisz ją najpierw skompilować.

import pandas as pd 
a = [1, 1, 2, 1, 1, 4, 5, 6] 
df = pd.DataFrame(a, columns=['a']) 

drugie, geom jest geom_histogram() nie geom_hist(). I na koniec wygląda na to, że rzucasz kod z jednego z przykładowych wykresów danych diamentu. Nie potrzebujesz tego, więc usunąłem to.

from ggplot import * 
p = ggplot(aes(x='a'), data=df) 
p + geom_histogram(binwidth=1) 

enter image description here

7

Czy dodać

%matplotlib inline

jako pierwszego polecenia w notebooku?

Powiązane problemy