Seaborn-그림 미학

데이터 시각화는 한 단계이며 시각화 된 데이터를 더욱 즐겁게 만드는 또 다른 단계입니다. 시각화는 청중의 관심을 끌기 위해 양적 통찰력을 청중에게 전달하는 데 중요한 역할을합니다.

미학은 특히 예술에서 아름다움의 본질과 감상과 관련된 일련의 원칙을 의미합니다. 시각화는 데이터를 효과적이고 가장 쉬운 방법으로 표현하는 기술입니다.

Matplotlib 라이브러리는 사용자 정의를 매우 지원하지만 매력적이고 예상되는 플롯을 얻기 위해 조정해야 할 설정을 아는 것은이를 사용하기 위해 알아야 할 사항입니다. Matplotlib와 달리 Seaborn은 맞춤형 테마와 Matplotlib 그림의 모양을 사용자 정의하고 제어하기위한 고급 인터페이스로 가득 차 있습니다.

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()

이것이 기본 Matplotlib로 플롯이 보이는 방식입니다-

동일한 플롯을 Seaborn 기본값으로 변경하려면 set() 기능-

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()

산출

위의 두 그림은 기본 Matplotlib 및 Seaborn 플롯의 차이점을 보여줍니다. 데이터 표현은 동일하지만 표현 스타일은 둘 다 다릅니다.

기본적으로 Seaborn은 Matplotlib 매개 변수를 두 그룹으로 분할합니다.

  • 플롯 스타일
  • 축척 플롯

Seaborn 그림 스타일

스타일을 조작하기위한 인터페이스는 다음과 같습니다. set_style(). 이 기능을 사용하여 플롯의 주제를 설정할 수 있습니다. 최신 업데이트 버전에 따라 다음은 사용 가능한 5 가지 테마입니다.

  • Darkgrid
  • Whitegrid
  • Dark
  • White
  • Ticks

위에서 언급 한 목록에서 테마를 적용 해 보겠습니다. 플롯의 기본 테마는darkgrid 이전 예에서 보았습니다.

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()

산출

위의 두 플롯의 차이점은 배경색입니다.

축 척추 제거

흰색 및 진드기 테마에서는 다음을 사용하여 위쪽 및 오른쪽 축 등뼈를 제거 할 수 있습니다. despine() 함수.

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()

산출

일반 플롯에서는 왼쪽 및 아래쪽 축만 사용합니다. 사용despine() 함수를 사용하면 Matplotlib에서 지원되지 않는 불필요한 오른쪽 및 위쪽 축 척추를 피할 수 있습니다.

요소 재정의

Seaborn 스타일을 사용자 정의하려면 매개 변수 사전을 set_style() 함수. 사용 가능한 매개 변수는axes_style() 함수.

import seaborn as sb
print sb.axes_style

산출

{'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}

매개 변수 값을 변경하면 플롯 스타일이 변경됩니다.

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()

산출

플롯 요소 크기 조정

또한 플롯 요소를 제어 할 수 있으며 다음을 사용하여 플롯의 스케일을 제어 할 수 있습니다. set_context()함수. 상대적인 크기에 따라 컨텍스트에 대해 사전 설정된 4 개의 템플릿이 있으며 컨텍스트 이름은 다음과 같습니다.

  • Paper
  • Notebook
  • Talk
  • Poster

기본적으로 컨텍스트는 노트북으로 설정됩니다. 위의 플롯에서 사용되었습니다.

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()

산출

실제 플롯의 출력 크기는 위의 플롯과 비교할 때 크기가 더 큽니다.

Note − 웹 페이지의 이미지 크기 조정으로 인해 예제 플롯의 실제 차이를 놓칠 수 있습니다.