2014-11-13 10 views
19

मैं समुद्री संस्करण ओ.4 और मैटलप्लिब संस्करण 1.42 का उपयोग कर रहा हूं, मेरे पास एक चार्ट सरल साजिश कमांड के माध्यम से दोनों लाइन और मार्कर प्रदर्शित करता है।पाइथन सीबर्न matplotlib पर रीसेट करने के लिए

plt.plot([1,5,3,8,4],'-bo'); 

एक संभावित बग (https://github.com/mwaskom/seaborn/issues/344) के कारण, आयात Seaborn के बाद, एक ही कोड लाइन केवल मार्कर के बिना पता चलता है।

import seaborn as sb 
plt.plot([1,5,3,8,4],'-bo'); 

तो मेरे सवाल है: आयात Seaborn के बाद, वहाँ सभी मापदंडों मूल करने के लिए वापस पुनर्स्थापित करने के लिए कोई तरीका है?

उत्तर

15

हां, seaborn.reset_orig पर कॉल करें।

+9

यह काम करता है प्रकार के-, लेकिन 'के बाद आयात seaborn' बनाया भूखंडों और 'seaborn.reset_orig() 'अभी भी इन पंक्तियों से पहले किए गए भूखंडों के लिए काफी अलग दिखता है। क्या सभी समुद्री प्रभावों से छुटकारा पाने का कोई तरीका है, जैसे कि इसे कभी आयात नहीं किया गया था? – user2428107

3

ताज़ा करने के लिए matplotlib के विन्यास साइड इफेक्ट अक्सर Seaborn साथ सामना करना पड़ा:

import matplotlib as mpl 
import matplotlib.pyplot as plt 
import seaborn.apionly as sns 

भागो इस:

import importlib 
importlib.reload(mpl); importlib.reload(plt); importlib.reload(sns) 

वर्ष को Python2 कोड के लिए:

import imp 
imp.reload(mpl); imp.reload(plt); imp.reload(sns) 

नोट: निम्नलिखित में से कोई भी matplotlib की स्थिति को सही ढंग से पुनर्स्थापित करता है:

  • sns.reset_orig()
  • sns.reset_defaults()
  • mpl.rcParams.update (mpl.rcParamsDefault)
+0

'आयातलिब' आयात ठीक है, लेकिन जब मैं 'रीलोड' का उपयोग करने का प्रयास करता हूं तो मुझे 'विशेषता त्रुटि:' मॉड्यूल 'ऑब्जेक्ट में कोई विशेषता' रीलोड 'नहीं होती है। क्या यह केवल पायथन 3.x में उपलब्ध है? – lanery

+0

दोह, पायथन 2 के लिए अद्यतन: आयात imp; imp.reload (somemodule) – JoelBondurant

0

एक बस, seaborn.set() समारोह कॉल कर सकते हैं कोई समारोह मानकों के साथ, [seaborn tutorial][1] देखें।

+0

यह कुछ भी नहीं करता है – colllin

0

आप को बचा सकता है rcParams आप चाहते हैं, Seaborn साथ (ध्यान दें कि Seaborn नहीं रह गया है में परिवर्तन आयात पर rcParams) शैली बदलने से पहले:

import matplotlib as mpl 

my_params = mpl.rcParams 

# apply some change to the rcparams here 

mpl.rcParams.update(my_params) 

ध्यान दें कि इन दोनों

mpl.rcParams.update(mpl.rcParamsOrig) 
mpl.rcParams.update(mpl.rcParamsDefault) 

पुनर्स्थापित लगभग सभी rcParams अपने डिफ़ॉल्ट मान के लिए। कुछ है कि अलग होगा आसानी से (मैं एक Jupyter नोटबुक में इस भाग गया) देखी जा सकती है:

# Differences between current params and `Default` 
for key in mpl.rcParamsDefault: 
    if not mpl.rcParamsDefault[key] == mpl.rcParams[key]: 
     print(key, mpl.rcParamsDefault[key], mpl.rcParams[key]) 

## backend agg module://ipykernel.pylab.backend_inline 
## figure.dpi 100.0 72.0 
## figure.edgecolor w (1, 1, 1, 0) 
## figure.facecolor w (1, 1, 1, 0) 
## figure.figsize [6.4, 4.8] [6.0, 4.0] 
## figure.subplot.bottom 0.11 0.125 

और

# Differences between `Default` and `Orig` 
for key in mpl.rcParamsDefault: 
    if not mpl.rcParamsDefault[key] == mpl.rcParamsOrig[key]: 
     print(key, mpl.rcParamsDefault[key], mpl.rcParamsOrig[key]) 

## backend agg Qt5Agg 
संबंधित मुद्दे