본문 바로가기
matplot

파이썬 plot 디자인 설정하기 1편

by Sixty Hertz 2020. 2. 20.

[파이썬 plot 디자인 설정하기 1편]

(참고자료 : scipy lecturenote)

 

plot 기본설정

 

지난 포스팅에서 파이선 matplotlib를 활용한 그래프 출력을 보여드렸구요 이번에는 출력된 그래프의 디자인 설정하는 내용에 대해 알려드리겠습니다.

 

※ 파이썬 matplotlib를 활용한 그래프 출력은 아래 포스팅을 참고하시기 바랍니다.

   2020/02/20 - [matplot] - 파이썬 matplotlib를 활용한 그래프 그리기

 

파이썬에서 그래프를 아무 설정없이 출력하면 아래와 같은 아주 심플한 결과물이 나옵니다.

y=cos(x) 그래프 

이 그래프를 좀더 우리가 원하는 방식으로 표현하기 위한 sample 코드는 아래와 같습니다.

import numpy as np                                           # numpy 호출
import matplotlib.pyplot as plt                              # pyplot 호출


plt.figure(figsize=(5, 5), dpi=100)           # figsize = 그래프 크기, dpi = dot per inch
plt.subplot(1, 1, 1)

x = np.linspace(-np.pi, np.pi, 300, endpoint=True)       # 삼각함수에 입력될 x값 생성(배열)
y, z = np.cos(x), np.sin(x)                              # 삼각함수 계산 y=cos(x), z=sin(x)

plt.plot(x, y, color="red", linewidth=2.0, linestyle="-")   #plot에 x,y 입력
plt.plot(x, z, color="blue", linewidth=2.0, linestyle="--")  #plot에 x,z 입력

plt.xlim(-5.0, 5.0)                                          # plot의 x축 최대값 설정
plt.ylim(-1.5, 1.5)                                          # plot의 y축 최대값 설정

plt.xticks(np.linspace(-5, 5, 9, endpoint=True))             # x축값 표시방식 설정
plt.yticks(np.linspace(-1.5, 1.5, 5, endpoint=True))         # y축값 표시방식 설정

plt.show()                                                   # 그래프 출력

 

위 코드의 출력물은 아래와 같습니다. 바뀐게 보이시나요?

파이썬 plot 디자인 설정_예시

천천히 코드를 살펴보면 아래와 같이 설정되어 있습니다.

 

plt.figure(figsize=(5,5), dpi=100)

그래프가 출력되는 창의 크기와 dpi(dot per inch) 설정입니다.

 

plt.subplot(1, 1, 1)

생성된 창에서 그래프 배치를 어떻게 할것인가에 대한 설정인데 아래 그림을 보시면 이해가 쉬울 것 같습니다. subplot을 어떻게 설정하느냐에 따라 아래와 같이 그래프 배치가 가능합니다.

출처 : scipy lecturenote

 

x = np.linspace(-np.pi, np.pi, 300, endpoint=True)

y, z = np.cos(x), np.sin(x)  

위 두줄은 지난 포스팅을 참고하시면 되겠습니다.

 

plt.plot(x, y, color="red", linewidth=2.0, linestyle="-")      #실선

plt.plot(x, z, color="blue", linewidth=2.0, linestyle="--")    #점선

그래프에 x,y 그리고 x,z를 입력하고 선색상은 red, blue 선폭은 2.0, 선 종류는 실선, 점선으로 설정

 

plt.xlim(-5.0, 5.0)

plt.ylim(-1.5, 1.5)

x, y축의 크기를 설정합니다. 숫자대신 x.min(), x.max()를 대신 사용할 수 있습니다.

 

plt.xticks(np.linspace(-5, 5, 9, endpoint=True)) 

plt.yticks(np.linspace(-1.5, 1.5, 5, endpoint=True)) 

x, y축 값의 범위와 표시할 값들을 설정합니다. endpoint는 끝점을 포함할지 안할지에 대한 설정입니다.

숫자대신 x.min(), x.max()를 대신 사용할 수 있습니다.

 

plt.show()

그래프 출력

 

 

 

댓글