2014-11-19 4 views
8

मैं factorplot(kind="bar") का उपयोग कर रहा हूं।बारब साजिश के साथ सेबर्न के वाई-अक्ष को कैसे स्केल करें?

मैं वाई-अक्ष को कैसे स्केल करूं, उदाहरण के लिए लॉग-स्केल के साथ?

मैंने साजिश के अक्षों के साथ झुकाव करने की कोशिश की, लेकिन यह हमेशा एक बार या दूसरे तरीके से बार साजिश को गड़बड़ कर देता है, इसलिए यह सुनिश्चित करने के लिए पहले अपना समाधान आज़माएं कि यह वास्तव में काम करता है।

उत्तर

8

factorplot पर कॉल करने के बाद आप Matplotlib कमांड का उपयोग कर सकते हैं। उदाहरण के लिए:

import seaborn as sns 
import matplotlib.pyplot as plt 
sns.set(style="whitegrid") 

titanic = sns.load_dataset("titanic") 

g = sns.factorplot("class", "survived", "sex", 
        data=titanic, kind="bar", 
        size=6, palette="muted", legend=False) 
g.fig.get_axes()[0].set_yscale('log') 
plt.show() 

enter image description here

+0

काम नहीं करता। क्या आप ने कोशिश की? – user124114

+0

यह मेरे लिए काम करता है, मैंने अपनी पोस्ट को एक छवि जोड़ने के लिए संपादित किया। मैंने लौटा 'FacetGrid' – Jules

+3

का उपयोग करके इसे और अधिक सामान्य बना दिया है। यह मेरे लिए काम करता है' fig' => 'figure' – arokem

3

अपने प्रश्न को ध्यान में रखते उल्लेख barplot मैंने सोचा कि मैं फिल्म का कथानक भी उस प्रकार के लिए एक समाधान में जोड़ना होगा के रूप में यह ऊपर factorplot से अलग है।

import seaborn as sns 
import matplotlib.pyplot as plt 
sns.set(style="whitegrid") 

titanic = sns.load_dataset("titanic") 

g = sns.barplot(x="class", y="survived", hue="sex", 
       data=titanic, palette="muted") 
g.set_yscale('log') 

enter image description here

0

आप लॉग-पैमाने की स्थापना पिछले समाधान का उपयोग पर सलाखों के गायब हो जाने की समस्या का सामना कर रहे हैं, बजाय Seaborn समारोह कॉल करने के लिए log=True जोड़ने का प्रयास करें। (मुझे अन्य उत्तरों पर टिप्पणी करने के लिए प्रतिष्ठा की कमी है)।

sns.factorplot का उपयोग करना:

import seaborn as sns 
import matplotlib.pyplot as plt 
sns.set(style="whitegrid") 

titanic = sns.load_dataset("titanic") 

g = sns.factorplot(x="class", y="survived", hue="sex", kind='bar', 
        data=titanic, palette="muted", log=True) 
g.ax.set_ylim(0.05, 1) 

sns.barplot का उपयोग करना:

import seaborn as sns 
import matplotlib.pyplot as plt 
sns.set(style="whitegrid") 

titanic = sns.load_dataset("titanic") 

g = sns.barplot(x="class", y="survived", hue="sex", 
       data=titanic, palette="muted", log=True) 
g.set_ylim(0.05, 1) 
संबंधित मुद्दे