2015-06-09 20 views
19

Aşağıdaki soru bir efsanenin arka plan rengini nasıl değiştirileceğini açıklamaktadır: matplotlib legend background color. Ancak, ben deniz aygırı kullanırsam bu işe yaramaz. Bunu yapmanın bir yolu var mı?seaborn: arka plan rengiyle efsane

import matplotlib.pyplot as plt 
import numpy as np 
a = np.random.rand(10,1) 

plt.plot(a, label='label') 
legend = plt.legend() 
frame = legend.get_frame() 
frame.set_facecolor('green') 
plt.show() 


import seaborn as sns 

plt.plot(a, label='label') 
legend = plt.legend() 
frame = legend.get_frame() 
frame.set_facecolor('green') 
plt.show() 

with matplotlibwith seaborn

+0

Bkz yöntemi 'add_legend' ile seaborn 'ın şimdiki rc ayarlarını alabilirsiniz seaborn/axisgrid.py – xecafe

+0

Bunun bana nasıl yardımcı olacağını bilmiyorum - 'seaborn.axisgrid.Grid' yok ve eksenler' add_legend' yöntemine sahip değil. – mathause

cevap

34

Seaborn Ben size plt.legend çağırdığınızda frameon=True eklemeniz gerekir düşünüyorsun, çerçeve nasıl göründüğünü özelleştirmek isterseniz efsanesi varsayılan olarak kapalı çerçeve döner.

+0

ahh ve bu çok kolay ... – mathause

+2

hala bir kare var ise 'frame = legend.get_frame() 'bir şey döndürüyor – mathause

7

set_style() yöntem tarzı bağımsız değişken (örneğin 'white', 'whitegrid', 'darkgrid', vs.) ve ilgili gösterge çerçevesine sahip edip etmeyeceğine de dahil olmak üzere, varsayılan estetik geçersiz kılmak için bir parametre dicti sunar.

Değiştirmek istediğiniz başka küçük stilleriniz varsa, sık sık yaptığım gibi, bunları tek seferde ayarlayabilirsiniz. https://github.com/mwaskom/seaborn/blob/master/:

import seaborn 
seaborn.set_style('darkgrid', {'legend.frameon':True}) 

the docs başı olarak, seaborn.axes_style()

{'axes.axisbelow': True, 
'axes.edgecolor': '.8', 
'axes.facecolor': 'white', 
'axes.grid': True, 
'axes.labelcolor': '.15', 
'axes.linewidth': 1.0, 
'figure.facecolor': 'white', 
'font.family': [u'sans-serif'], 
'font.sans-serif': [u'Arial', 
    u'DejaVu Sans', 
    u'Liberation Sans', 
    u'Bitstream Vera Sans', 
    u'sans-serif'], 
'grid.color': '.8', 
'grid.linestyle': u'-', 
'image.cmap': u'rocket', 
'legend.frameon': False, 
'legend.numpoints': 1, 
'legend.scatterpoints': 1, 
'lines.solid_capstyle': u'round', 
'text.color': '.15', 
'xtick.color': '.15', 
'xtick.direction': u'out', 
'xtick.major.size': 0.0, 
'xtick.minor.size': 0.0, 
'ytick.color': '.15', 
'ytick.direction': u'out', 
'ytick.major.size': 0.0, 
'ytick.minor.size': 0.0}