2. matplotlib
1. matplotlib
1) 설치
- 시각화 라이브러리로 주로 다차원 그래프를 위한 라이브러리
- 파이썬에서 매트랩과 유사한 인터페이스를 지원하기위해 시작
pip install matplotlib
import matplotlib.pyplot as plt
2) 실습
import numpy as np
import matplotlib.pyplot as plt
data = np.array([1,2,3,4,5])
plt.plot(data)
plt.show()
plt.plot([1,2,3,4], [1,4,9,16])
plt.show()
2. 스타일 지정
1) 모양 지정
data = np.array([1,2,3,4,5])
plt.plot(data, 'ro') # 원
plt.show()
plt.plot(data, 'r^') # 삼각형
plt.show()
plt.plot(data, 'r--') # 점선
plt.show()
2) 색깔 & 모양 지정
data = np.array([1,2,3,4,5])
plt.plot(data, data**2, 'ro', # 빨간색 r, 동그라미 o
data, data**3, 'g^', # 초록색 g, 삼각형 ^
data, data**4, 'bs') # 파란색 b, 사각형 s
plt.show()
3) 스타일을 딕셔너리에서 지정
data_dict = {'x':[1,2,3,4,5], 'y':[1,4,9,16,25], 'style':'ro'}
plt.plot('x', 'y', 'style', data=data_dict)
plt.show()
3. 레이블 지정
1) X,Y 축 지정
data = [1,2,3,4,5]
plt.plot(data, data**2)
plt.xlabel('X_label')
plt.ylabel('Y_label')
plt.plot(data, data**2)
plt.show()
2) 범례 지정하기
data = [1,2,3,4,5]
plt.plot(data, data**2)
plt.xlabel('X_label')
plt.ylabel('Y_label')
plt.plot(data, data**2, label='data1')
plt.legend()
plt.show()
2) 범례 위치 지정하기
data = [1,2,3,4,5]
plt.plot(data, data**2)
plt.xlabel('X_label')
plt.ylabel('Y_label')
plt.plot(data, data**2, label='data1')
plt.legend(loc=(0.8, 0.8)) # 0,0 기준으로 몇 % 떨어져 있나
plt.legend(loc='upper right') # upper, lower, right, left
plt.legend()
plt.show()
3) 축 범위 지정
data = [1,2,3,4,5]
plt.plot(data, data**2, label='data1')
plt.xlim([-5, 5])
plt.ylim([-25, 25])
plt.show()
4. figure & subplot
- figure는 큰 틀
- ax라는 subplot인 하나의 그래프
4-1) 하나의 figure
fig = plt.figure()
ax = fig.add_subplot()
plt.show()
4-2) 여러개의 figure
fig = plt.figure()
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
plt.show()
4-3) 3X3 배열의 figure
fig = plt.figure()
ax1 = fig.add_subplot(3,3,1)
ax2 = fig.add_subplot(3,3,5)
ax2 = fig.add_subplot(3,3,9)
plt.show()
4-4) 각 차트마다 데이터 넣기
fig = plt.figure()
ax1 = fig.add_subplot(2,2,1)
ax1.plot(data, data**2, 'ro')
ax2 = fig.add_subplot(2,2,2)
ax2.plot(data, data**3, 'g^')
ax3 = fig.add_subplot(2,2,3)
ax3.plot(data, data**4, 'y--')
plt.show()
5. bar plot
5-1) 세로 막대 차트
fig = plt.figure()
ax = fig.add_subplot()
ax.bar(['a','b','c','d','e'], [3,4,5,8,7])
plt.show()
5-2) 가로 막대 차트
fig = plt.figure()
ax = fig.add_subplot()
ax.barh(['a','b','c','d','e'], [3,4,5,8,7])
plt.show()
5-3) figure를 사용한 혼합 차트
fig = plt.figure()
ax1 = fig.add_subplot(2,2,1)
ax1.barh(['a','b','c','d','e'], [3,4,5,8,7])
ax2 = fig.add_subplot(2,2,3)
ax2.barh(['a','b','c','d','e'], [3,4,5,8,7])
plt.show()
5-4) histogram plot
- histogram plot은 data의 분포를 나타낼 때 사용하며, 주로 다음과 같은 인자를 사용함
fig = plt.figure()
ax = fig.add_subplot()
ax.hist(np.random.randn(500))
plt.show()
5-5) scatter plot
- 산점도 : 두 변수의 관계를 보여주는 자료 표시 방법
fig = plt.figure()
ax = fig.add_subplot()
x = np.random.rand(100)
y = np.random.rand(100)
ax.scatter(x,y)
plt.show()
fig = plt.figure()
ax = fig.add_subplot()
x = np.random.rand(100)
x1 = x[x>0.5]
x2 = x[x<=0.5]
y1 = np.random.rand(len(x1))
y2 = np.random.rand(len(x2))
ax.scatter(x1,y1, c='#FF0000')
ax.scatter(x2,y2, c='#0000FF')
plt.show()
6. pillow
- 이미지 파일 형식을 지원 및 처리하는 라이브러리
- matplotlib 라이브러리 설치시 같이 설치됨
from PIL import Image
image = Image.open('./image.jpg')
fig = plt.figure()
ax = fig.add_subplot()
ax.imshow(image)
plt.show()
from PIL import Image
image = Image.open('./image.jpg')
display(image)
Author And Source
이 문제에 관하여(2. matplotlib), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@spamdong/2.-matplotlib저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)