Seaborn - estetyczna figura
Wizualizacja danych to jeden krok, a dalsze uczynienie wizualizowanych danych przyjemniejszymi to kolejny krok. Wizualizacja odgrywa istotną rolę w przekazywaniu odbiorcom ilościowych spostrzeżeń, aby przyciągnąć ich uwagę.
Estetyka to zbiór zasad dotyczących natury i docenienia piękna, zwłaszcza w sztuce. Wizualizacja to sztuka przedstawiania danych w efektywny i najłatwiejszy sposób.
Biblioteka Matplotlib w dużym stopniu obsługuje dostosowywanie, ale wiedza o tym, jakie ustawienia należy dostosować, aby uzyskać atrakcyjny i oczekiwany wykres, jest tym, czego należy być świadomym, aby z niej skorzystać. W przeciwieństwie do Matplotlib, Seaborn jest dostarczany z niestandardowymi motywami i interfejsem wysokiego poziomu do dostosowywania i kontrolowania wyglądu figurek Matplotlib.
Przykład
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5): 
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
plt.show()Tak wygląda wykres z domyślnymi ustawieniami Matplotlib -
 
                Aby zmienić ten sam wykres na ustawienia domyślne Seaborn, użyj set() funkcja -
Przykład
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set()
sinplot()
plt.show()Wynik
 
                Powyższe dwie liczby pokazują różnicę w domyślnych wykresach Matplotlib i Seaborn. Reprezentacja danych jest taka sama, ale styl reprezentacji różni się w obu przypadkach.
Zasadniczo Seaborn dzieli parametry Matplotlib na dwie grupy
- Style wydruku
- Skala działki
Style figur Seaborn
Interfejs do manipulowania stylami to set_style(). Za pomocą tej funkcji można ustawić temat fabuły. Zgodnie z najnowszą zaktualizowaną wersją poniżej znajduje się pięć dostępnych motywów.
- Darkgrid
- Whitegrid
- Dark
- White
- Ticks
Spróbujmy zastosować motyw z powyższej listy. Domyślnym motywem fabuły będziedarkgrid co widzieliśmy w poprzednim przykładzie.
Przykład
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("whitegrid")
sinplot()
plt.show()Wynik
 
                Różnica między powyższymi dwoma wykresami polega na kolorze tła
Usuwanie kolców siekiery
W motywach białych i kleszczy możemy usunąć kolce górnej i prawej osi za pomocą despine() funkcjonować.
Przykład
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("white")
sinplot()
sb.despine()
plt.show()Wynik
 
                Na zwykłych wykresach używamy tylko lewej i dolnej osi. Używającdespine() funkcji, możemy uniknąć niepotrzebnych grzbietów prawej i górnej osi, które nie są obsługiwane w Matplotlib.
Zastępowanie elementów
Jeśli chcesz dostosować style Seaborn, możesz przekazać słownik parametrów do pliku set_style() funkcjonować. Dostępne parametry są przeglądane za pomocąaxes_style() funkcjonować.
Przykład
import seaborn as sb
print sb.axes_styleWynik
{'axes.axisbelow'     : False,
'axes.edgecolor'      : 'white',
'axes.facecolor'      : '#EAEAF2',
'axes.grid'           : True,
'axes.labelcolor'     : '.15',
'axes.linewidth'      : 0.0,
'figure.facecolor'    : 'white',
'font.family'         : [u'sans-serif'],
'font.sans-serif'     : [u'Arial', u'Liberation  
                        Sans', u'Bitstream Vera Sans', u'sans-serif'],
'grid.color'          : 'white',
'grid.linestyle'      : u'-',
'image.cmap'          : u'Greys',
'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}Zmiana wartości któregokolwiek z parametrów zmieni styl wydruku.
Przykład
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()Wynik
 
                Skalowanie elementów wykresu
Mamy również kontrolę nad elementami działki i możemy kontrolować skalę działki za pomocą set_context()funkcjonować. Mamy cztery gotowe szablony dla kontekstów, oparte na względnym rozmiarze, a konteksty nazywane są w następujący sposób
- Paper
- Notebook
- Talk
- Poster
Domyślnie kontekst jest ustawiony na notatnik; i został użyty w powyższych działkach.
Przykład
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()Wynik
 
                Rozmiar wyjściowy rzeczywistego wykresu jest większy w porównaniu z powyższymi wykresami.
Note - Ze względu na skalowanie obrazów na naszej stronie internetowej możesz przeoczyć faktyczną różnicę w naszych przykładowych wykresach.