2015-10-01 8 views
7

मैं पाइथन 3.5 में एक समुद्री साजिश पर अक्ष टिक्स की संख्या को नियंत्रित करने में सक्षम होना चाहता हूं। मैं आर के जीजीप्लॉट का उपयोग करने के बहुत आदी हूं, इसलिए मुझे पाइथन में समान कार्यक्षमता के साथ कुछ परेशानी हो रही है।सीबर्न प्लॉट्स में एक्स-अक्ष टिक्स की संख्या बदलें

एक उदाहरण के रूप में, यहाँ डेटा की तरह मैं इस समय के साथ काम कर रहा हूँ है:

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

और मैं ऐसा करके ggplot के facet_wrap की तरह कुछ() करना चाहते हैं:

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) 

हालांकि, मुझे निम्नलिखित त्रुटियां मिलती हैं। समस्या FacetGrid में धुरी लेबल सेट करने के बारे में कुछ प्रतीत होती है, लेकिन मुझे नहीं पता कि इसे कैसे हल किया जाए। क्या यह पाइथन 3 के साथ एक मुद्दा है या एक मुखौटा साजिश पर अक्ष निर्दिष्ट करने के साथ?

UserWarning: tight_layout : falling back to Agg renderer 

warnings.warn ("tight_layout: Agg रेंडरर पर वापस गिरने")

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

उत्तर

11

set_xticks एक matplotlib अक्ष वस्तु पर एक तरीका है, लेकिन FacetGrid कई कुल्हाड़ियों है। आप उन पर लूप कर सकते हैं और प्रत्येक पर xticks सेट कर सकते हैं, लेकिन FacetGrid.set(xticks=np.arange(1,4,1)) पर कॉल करना एक आसान तरीका है, जो आंतरिक रूप से लूप करेगा।

संबंधित मुद्दे