2022-06-26 18:28:30

안녕하세요. 비스카이비전입니다.

 

matplotlib를 활용하여 그래프를 그리면 대략 다음과 같은 스타일로 그래프가 그려집니다. 

 

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame([[1, 5], [2, 2], [3, 7], [4, 9], [5, 6]])

plt.plot(df[0], df[1])
plt.grid(True)
plt.title('title')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
plt.show()

 

 

이런 스타일의 그래프도 충분히 심플하고 예쁩니다. 하지만 한 줄의 코드만 삽입하면, 완전히 다른 느낌의 그래프를 그릴 수 있습니다. matplotlib에서 제공하는 그래프의 스타일을 확인하기 위한 코드는 다음과 같습니다.

 

import matplotlib.pyplot as plt

print(plt.style.available)

 

위 코드를 실행하면 적용할 수 있는 다양한 스타일들이 리스트에 담겨 있는 것을 확인할 수 있습니다.

 

['Solarize_Light2', '_classic_test_patch', '_mpl-gallery', '_mpl-gallery-nogrid', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark', 'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'tableau-colorblind10']

 

다양한 스타일로 그래프를 그려보자

fivethirtyeight 스타일

이 중에서 저는 제가 좋아하는 네이트실버의 fivethirtyeight 스타일을 적용해보겠습니다. 

 

import pandas as pd
import matplotlib.pyplot as plt

print(plt.style.available)

df = pd.DataFrame([[1, 5], [2, 2], [3, 7], [4, 9], [5, 6]])

plt.style.use('fivethirtyeight')
plt.plot(df[0], df[1])
plt.grid(True)
plt.title('title')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
plt.show()

 

이전 코드에서 plt.style.use('fivethirtyeight') 한 줄의 코드만 삽입되었습니다. 디폴트 스타일과는 또 느낌이 많이 다르죠? 

 

 

classic 스타일

이번에는 classic 스타일을 적용해보겠습니다. plt.style.use('fivethirtyeight')를 plt.style.use('classic')으로 변경하시기만 하면 됩니다. 그리드가 점선으로 처리되어 좀 더 깔끔한 느낌이 드네요. 

 

 

dark_background 스타일

마지막으로 하나만 더해보겠습니다. dark_background 스타일을 적용해보겠습니다. 멋지죠? 

 

 

위 리스트에 있는 다양한 스타일을 직접 적용해보시면서 현재 그래프가 사용될 문서 또는 사이트에 어울리는 스타일을 잘 찾으시면 되겠습니다.