Matplotlib 은 정적, 애니메이션 및 대화형 시각화를 생성하는 강력한 Python 라이브러리입니다. 기본적인 플롯을 만드는 것은 간단하지만, 데이터를 명확하고 이해하기 쉬우며 시각적으로 매력적으로 만들기 위해서는 사용자 정의가 중요합니다.
이 실습에서는 간단한 선 플롯으로 시작하여 점진적으로 사용자 정의할 것입니다. 선 색상 변경, 데이터 포인트에 마커 추가, 선 스타일 수정, 플롯에 제목 추가, 축 제한 조정 방법을 배우게 됩니다.
이 실습 환경은 WebIDE 를 사용하므로 별도의 GUI 창에 플롯을 표시할 수 없습니다. 대신 plt.savefig()를 사용하여 모든 플롯을 이미지 파일로 저장할 것입니다. 그런 다음 IDE 내에서 생성된 이미지를 직접 볼 수 있습니다.
시작해 봅시다!
이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 96%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.
plt.plot(color='red') 를 사용하여 사용자 정의 색상으로 선 플롯 그리기
이 단계에서는 플롯의 선 색상을 변경하는 방법을 배웁니다. 기본적으로 Matplotlib 은 미리 정의된 색상 세트를 순환합니다. 하지만 plt.plot() 함수의 color 매개변수를 사용하여 원하는 색상을 쉽게 지정할 수 있습니다.
먼저 사인파의 기본 플롯을 만들어 보겠습니다. NumPy 를 사용하여 데이터 포인트를 생성합니다.
왼쪽 파일 탐색기에서 ~/project 디렉토리에 있는 main.py 파일을 엽니다. 해당 내용을 다음 코드로 바꾸세요. 이 코드는 사인파를 플롯하고 빨간색으로 색칠합니다.
import matplotlib.pyplot as plt
import numpy as np
## 플롯 데이터 생성
x = np.arange(0, 10, 0.1)
y = np.sin(x)
## 사용자 정의 색상으로 데이터 플롯
plt.plot(x, y, color='red')
## 플롯을 파일로 저장
plt.savefig('/home/labex/project/plot_color.png')
print("Plot saved as plot_color.png")
main.py 파일을 업데이트한 후 저장하세요. 이제 IDE 하단의 터미널에서 스크립트를 실행하세요.
python3 main.py
터미널에서 다음 출력을 볼 수 있습니다.
Plot saved as plot_color.png
~/project 디렉토리에 plot_color.png라는 새 파일이 나타납니다. 이 파일을 더블 클릭하여 열면 첫 번째 사용자 정의 플롯을 볼 수 있습니다. 빨간색 사인파가 표시됩니다.
plt.plot(marker='o') 를 사용하여 마커 추가
이 단계에서는 데이터 포인트에 마커를 추가하는 방법을 배웁니다. 마커는 선상의 각 데이터 포인트의 정확한 위치를 강조하는 데 유용하며, 데이터 포인트가 드문드문 있을 때 특히 도움이 될 수 있습니다.
plt.plot() 함수의 marker 매개변수를 사용하여 마커를 추가할 수 있습니다. 'o' (원), 'x' (십자), '*' (별) 등 다양한 마커 스타일을 사용할 수 있습니다.
이전 단계의 진행 상황을 유지하기 위해 main.py 파일을 수정하여 플롯에 원형 마커를 추가해 보겠습니다. 또한 출력 파일 이름을 plot_marker.png로 변경하겠습니다.
main.py 파일을 다음 코드로 업데이트하세요.
import matplotlib.pyplot as plt
import numpy as np
## 플롯 데이터 생성
x = np.arange(0, 10, 0.1)
y = np.sin(x)
## 사용자 정의 색상 및 마커로 데이터 플롯
plt.plot(x, y, color='red', marker='o')
## 새 파일로 플롯 저장
plt.savefig('/home/labex/project/plot_marker.png')
print("Plot saved as plot_marker.png")
파일을 저장하고 터미널에서 스크립트를 다시 실행하세요.
python3 main.py
터미널에 다음과 같은 출력이 표시됩니다.
Plot saved as plot_marker.png
이제 파일 탐색기에서 새 파일 plot_marker.png를 찾아 더블 클릭하세요. 빨간색 선에 각 데이터 포인트마다 작은 원이 있는 것을 볼 수 있습니다.
plt.plot(linestyle='--') 를 사용하여 선 스타일 설정
이 단계에서는 선 자체의 스타일을 변경하는 방법을 배웁니다. 기본값은 실선이지만, 여러 선을 구분하거나 단순히 미적인 이유로 점선, 파선 등으로 변경할 수 있습니다.
이는 linestyle 매개변수 (또는 축약형 ls) 를 사용하여 수행됩니다. 일반적인 스타일에는 점선에 대한 '--', 점선에 대한 ':', 파선에 대한 '-.' 등이 있습니다.
플롯을 점선으로 업데이트해 보겠습니다. main.py 파일을 아래와 같이 수정하세요. 출력 파일 이름도 plot_linestyle.png로 변경하겠습니다.
import matplotlib.pyplot as plt
import numpy as np
## 플롯 데이터 생성
x = np.arange(0, 10, 0.1)
y = np.sin(x)
## 사용자 정의 색상, 마커 및 선 스타일로 데이터 플롯
plt.plot(x, y, color='red', marker='o', linestyle='--')
## 새 파일로 플롯 저장
plt.savefig('/home/labex/project/plot_linestyle.png')
print("Plot saved as plot_linestyle.png")
변경 사항을 저장하고 터미널에서 스크립트를 실행하세요.
python3 main.py
확인 메시지가 표시됩니다.
Plot saved as plot_linestyle.png
새로 생성된 plot_linestyle.png 파일을 열어보세요. 마커를 연결하는 선이 이전의 실선 대신 점선으로 변경된 것을 확인할 수 있습니다.
plt.title() 를 사용하여 제목 추가
제목이 없는 플롯은 모호할 수 있습니다. 플롯을 보는 사람이 플롯이 무엇을 나타내는지 즉시 이해할 수 있도록 설명적인 제목을 지정하는 것이 중요합니다. Matplotlib 에서는 plt.title() 함수를 사용하여 제목을 추가할 수 있습니다.
이 단계에서는 플롯에 "Sine Wave"라는 제목을 추가합니다. 이 함수는 그림을 저장하기 전에 호출됩니다.
plt.title() 호출을 포함하도록 main.py 파일을 수정하세요. 새 출력 파일은 plot_title.png가 됩니다.
import matplotlib.pyplot as plt
import numpy as np
## 플롯 데이터 생성
x = np.arange(0, 10, 0.1)
y = np.sin(x)
## 사용자 정의로 데이터 플롯
plt.plot(x, y, color='red', marker='o', linestyle='--')
## 플롯에 제목 추가
plt.title('Sine Wave')
## 새 파일로 플롯 저장
plt.savefig('/home/labex/project/plot_title.png')
print("Plot saved as plot_title.png")
파일을 저장하고 스크립트를 실행하세요.
python3 main.py
출력은 다음과 같습니다.
Plot saved as plot_title.png
plot_title.png를 열어 플롯을 확인하세요. 이제 상단에 "Sine Wave"라는 제목이 표시되어야 합니다.
plt.xlim() 및 plt.ylim() 을 사용하여 축 범위 조정
때로는 플롯의 특정 영역에 집중하거나 데이터 주변에 약간의 여백을 추가하고 싶을 수 있습니다. plt.xlim() 및 plt.ylim() 함수를 사용하여 각각 x 축과 y 축의 범위를 제어할 수 있습니다.
이 마지막 단계에서는 사인파의 일부를 "확대"하도록 축을 조정합니다. x 축은 0 에서 5 까지, y 축은 -1.5 에서 1.5 까지로 설정합니다. 이렇게 하면 플롯에 수직 여백이 생깁니다.
main.py 파일을 최종 버전의 코드로 업데이트하세요. 출력은 plot_final.png에 저장됩니다.
import matplotlib.pyplot as plt
import numpy as np
## 플롯 데이터 생성
x = np.arange(0, 10, 0.1)
y = np.sin(x)
## 사용자 정의로 데이터 플롯
plt.plot(x, y, color='red', marker='o', linestyle='--')
## 제목 추가
plt.title('Sine Wave')
## 축 범위 조정
plt.xlim(0, 5)
plt.ylim(-1.5, 1.5)
## 최종 플롯을 파일로 저장
plt.savefig('/home/labex/project/plot_final.png')
print("Plot saved as plot_final.png")
파일을 저장하고 마지막으로 스크립트를 실행하세요.
python3 main.py
최종 확인 메시지가 표시됩니다.
Plot saved as plot_final.png
이제 plot_final.png를 열어보세요. 이전 플롯과 비교해 보세요. x 축이 이제 5 에서 끝나고, 새로운 y 축 범위로 인해 사인파 위아래에 더 많은 공간이 생긴 것을 볼 수 있습니다.
요약
이 실습을 완료하신 것을 축하드립니다! Matplotlib 기본 선 플롯을 더 유익하고 시각적으로 매력적으로 만들기 위한 사용자 정의 방법을 성공적으로 배우셨습니다.
이 실습에서는 다음을 연습했습니다.
plt.plot()의 color 매개변수를 사용하여 선 색상 변경하기.
marker 매개변수를 사용하여 데이터 포인트 마커 추가하기.
linestyle 매개변수를 사용하여 선 스타일 설정하기.
plt.title() 함수를 사용하여 설명적인 제목 추가하기.
plt.xlim() 및 plt.ylim()을 사용하여 축 범위 조정하기.
이러한 기술은 데이터 분석 및 프레젠테이션을 위한 전문적인 품질의 플롯을 만드는 데 필수적입니다. 다른 색상, 마커 및 선 스타일을 시도하거나 plt.xlabel() 및 plt.ylabel()을 사용하여 x 축 및 y 축에 레이블을 추가하는 등 더 자유롭게 실험해 보세요.