Back-End/Matplotlib

label, axis, ticks, legend, grid

pshoon25 2022. 12. 21. 17:11

📊데이터 시각화에 있어서 차트의 부가 설정은 필수이다.

 

시각화에서 가장 중요한 것은 한 눈에 차트가 이해가 되어야 한다는 점이다.

 

각 축이 의미하는 값, 각 선이 의미하는 값, 데이터의 중요한 부분을 돋보이게 할 수 있게 눈금이나 그리드 등을 설정해주어 차트의 이해도를 높여야 한다.

 

그렇기 때문에 각 축의 이름 설정이나 눈금의 값을 지정하는 등 부가적인 설정은 매우 중요하다.

 

부가적인 설정을 하는 함수에 대하여 설명할 내용은 아래와 같다.

  • 차트 타이틀 설정 : plt.title('타이틀 명')
  • 축 이름 설정 : plt.xlabel( ), plt.ylabel ( )
  • 축 범위 지정 : plt.axis( )
  • 축 눈금 표시 지정 : plt.xticks( ), plt.yticks( )
  • 범례 지정 : plt.legend( ) 
  • 그리드 지정 및 설정 : plt.grid( )

하나씩 차례대로 알아보자 !


👉차트 타이틀 설정 : plt.title('타이틀 명')

 

plt.title('타이틀 명', loc='right'|'left'| 'center', pad=n)

loc='right'|'left'| 'center' 값을 지정하여 타이틀의 위치를 오른쪽, 왼쪽, 가운데 중의 설정이 가능하다.

pad=n값에 숫자를 입력하면 타이틀의 높이가 차트로부터 n 만큼 떨어진 위치에 지정된다.

import matplotlib.pyplot as plt

plt.plot([1, 10, 20], [1, 10, 20])

plt.title('test', loc='left', pad=50)

plt.show()


👉축 이름 설정 : plt.xlabel( ), plt.ylabel ( )

plt.xlabel('x축 이름')

plt.ylabel('y축 이름')

import matplotlib.pyplot as plt

plt.plot([1, 10, 20], [1, 10, 20])

plt.xlabel("x-axis")
plt.ylabel("y-axis")

plt.show()


👉축 범위 지정 : plt.axis( )

plt.axis([x축 최소값, x축 최대값, y축 최소값, y축 최대값])

import matplotlib.pyplot as plt

plt.plot([1, 10, 20], [1, 10, 20])

plt.axis([0, 50, 0, 50])

plt.show()


👉축 눈금 표시 지정 : plt.xticks( ), plt.yticks( )

plt.xticks([start, mid, mid, ..., end])

plt.yticks([start, mid, mid, ..., end])

mid의 개수 및 값은 자유롭게 설정할 수 있으며, range( )범위 함수를 이용하여 지정할 수 있다.

import matplotlib.pyplot as plt

plt.plot([1, 10, 20], [1, 10, 20])

plt.xticks([0, 5, 10, 15, 20])
plt.yticks(range(2, 21, 2))

plt.show()


👉범례 지정 : plt.legend( )

범례를 지정하는 방법은 두 가지가 있다.

  • legend('첫 번째 plot의 명칭', '두 번째 plot의 명칭', ...)
    • 차트를 생성 후 마지막에 plt.legend(['명칭1', '명칭2'])를 입력하는 방법
  • plot(label=라벨 명) & plt.legend()
    • plt.plot( )함수를 작성하며 파라미터에 label='라벨명'을 입력하는 방법

개인적으로 plt.plot( )함수 내에 파라미터에 label='라벨명'을 기입해주는 것을 선호한다.

그 이유는 코드를 볼 때 더 직관적이기 때문이다.

 

legend('첫 번째 plot의 명칭', '두 번째 plot의 명칭', ...)

import matplotlib.pyplot as plt

plt.plot([1, 10, 20], [1, 10, 20])
plt.plot([1, 10, 20], [20, 10, 1])

plt.legend(['first_line', 'second_line'])

plt.show()

plot(label=라벨 명) & plt.legend()

import matplotlib.pyplot as plt

plt.plot([1, 10, 20], [1, 10, 20], label='first_line')
plt.plot([1, 10, 20], [20, 10, 1], label='second_line')

plt.legend()

plt.show()


👉그리드 지정 및 설정 : plt.grid( )

그리드 함수는 plt.grid( )만 입력해도 지정이 가능하다.

또한, 파라미터에 설정값을 입력하여 커스터마이징도 가능하다.

 

plt.grid( )

import matplotlib.pyplot as plt

plt.plot([1, 10, 20], [1, 10, 20])

plt.grid()

plt.show()

 

plt.grid(axis='both', color='g', linestyle=':')

axis='both'|'x'|'y'

  • both 를 입력할 경우, x와 y축을 모두 표시한다.
  • x or y 만 입력했을 경우, 입력한 축만 표시한다.

color='컬러명'을 지정하여 grid의 색상을 설정할 수 있다.

linestyle='스타일 기호'를 입력하여 점선, 실선 등의 설정이 가능하다.

import matplotlib.pyplot as plt

plt.plot([1, 10, 20], [1, 10, 20])

plt.grid(axis='x', color='g', linestyle=':')

plt.show()