2015-10-01 26 views
7

Python 3.5'deki deniz kıyısındaki bir arsadaki eksen kene sayısını kontrol edebilmek istiyorum. Ben R's ggplot kullanmaya alışkınım, bu yüzden Python'da benzer işlevsellikte sorun yaşıyorum. Bir örnek olarak Kıyısal arazilerde x ekseni kene sayısını değiştir

, burada şu anda çalışıyorum veri türüdür:

test = pd.DataFrame() 
test["X"] = [1,2,3,1,2,3] 
test["Y"] = [1,5,3,7,2,4] 
test["Category"] = ["A", "A", "A", "B", "B", "B"] 

Ve yaparak ggplot en facet_wrap gibi bir şey() yapmak istiyorum:

sns.set(style = "ticks", color_codes = True) 
test_plot = sns.FacetGrid(test, col = "Category") 
test_plot = (test_plot.map(sns.plt.plot, "X", "Y").add_legend()) 
test_plot.set_xticks(np.arange(1,4,1)) 
sns.plt.show(test_plot) 

Ancak, aşağıdaki hataları alıyorum. Sorun, FacetGrid'de eksen etiketleri ayarlama hakkında bir şey gibi görünüyor, ancak nasıl çözüleceğini bilmiyorum. Bu Python 3 ile mi yoksa fasetli bir arsa üzerinde eksenleri belirterek mi?

UserWarning: tight_layout : falling back to Agg renderer 

warnings.warn ("tight_layout: Topak oluşturucuya geri düşme")

test_plot.set_xticks(np.arange(1,4,1)) 
AttributeError: 'FacetGrid' object has no attribute 'set_xticks' 

cevap

11

set_xticks eksenleri nesne bir matplotlib bir yöntemdir, ancak FacetGrid birçok eksene sahiptir. Bunların üstesinden gelebilir ve her birindeki xtick'leri ayarlayabilirsiniz, ancak daha kolay bir yol döngü içinde dahili olarak yapacak olan FacetGrid.set(xticks=np.arange(1,4,1))'u aramaktır.