2013-10-15 37 views
8

ipython notebook ve ggplot for python kullanarak python'da basit bir sayı listesi histogramı yapmaya çalışıyorum. Pileb kullanarak, bu yeterince kolay, ama çalışmak için ggplot alamıyorum.ggplot2 (python için) kullanarak ipython defterinde histogram nasıl yapılır

(benim için çalışır elmas histogram Örneğin dayanarak) bu kodu kullanıyorum:

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") 

& PyLab ipython kullanarak, sadece hist(a) bir histogram yapabilir ve görüntüler. Bir histogramı ggplot kullanarak nasıl yaparım?

+0

Tarz yüzünden ggplot istiyor musunuz ya da başka bir neden var mı? İlk durumda, mpltools, ggplot stilini taklit edebilir bir matplotlib uzantısı deneyebilirsiniz (bkz http://tonysyu.github.io/mpltools/auto_examples/style/plot_ggplot.html) – Jakob

+0

Çoğunlukla kullanmak istiyorum ggplot çünkü ilginç görünüyor. – Rory

cevap

17

Sadece 'a' vektörünüzdeki sayıların bir histogramını yapmak istiyorsanız, birkaç sorun vardır.

İlk olarak, ggplot verileri pandalar Dataframe biçiminde kabul eder, bu yüzden önce bunu oluşturmanız gerekir.

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

İkincisi, geom geom_histogram() değil geom_hist() olduğunu. Ve son olarak, elmas verilerinin örnek çizimlerinden birinden kod attığınız anlaşılıyor. Buna ihtiyacın yok, ben de kaldırdım.

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

enter image description here

7

Eğer defterine ilk komutu olarak

%matplotlib inline

eklediniz mi?

İlgili konular