python은 그림을 그리는 데 사용됩니다. matplotlib과 seaborn*
1.matplotlib
사용하기 전에 API를 가져와야 합니다
import matplotlib.pyplot as plt
1.1 기본 그림을 그립니다
1.1.1 꺾은선 그래프
1.데이터를 준비합니다
import random
x = range(60)
y = [random.uniform(15,18) for i in x]
#random.uniform의 매개변수는 값 범위입니다.
2. 캔버스를 만듭니다.
plt.figure(figsize=(20,5),dpi=100)
#여기서 매개변수 figsize는 이미지 크기이고 dpi는 해상도입니다.
3. 그림을 그립니다
plt.plot(x,y)
4.이미지 디스플레이입니다.
plt.show()
1.1.2 산점도입니다.
1, 2, 4단계를 반복합니다.
3단계를 plt.scatter(x,y)로 변경합니다.
그림 표시:
1.1.3 막대그래프
1, 2, 4단계를 반복합니다.
3단계를 plt.bar(x,y)로 변경합니다.
그림 표시:
1.1.4 히스토그램입니다
1, 2, 4단계를 반복합니다.
3단계를 plt.hist(y)로 변경합니다.
하나의 y 매개 변수만 들어오며, y의 분포를 나타냅니다.
그림 표시:
x의 분포를 나타내는 x 매개변수를 가져올 수도 있습니다(단, x는 0~59이므로 의미가 없습니다).
그림 표시:
1.2 다른 기능을 구현합니다.
우리는 우리가 만든 데이터를 상해시 아침 10시부터 11시까지 온도 변화로 사용합니다
#1. 데이터 준비합니다
x_shanghai = x
y_shanghai = y
#2. 캔버스를 만듭니다
plt.figure(figsize=(20,5),dpi=100)
#3. 그림을 그립니다
plt.plot(x_shanghai,y_shanghai)
#3.1 x, y 눈금을 추가합니다.
x_ticks = ['10:{}분'format(i) for i in x_shanghai]
y_ticks = range(40)
#3.2 x, y의 눈금을 수정합니다.
plt.xticks(x_shanghai[::5],x_ticks[::5])
#plt.xticks 첫 번째 인자는 눈금이고 두 번째 인자는 눈금 레이블입니다(plt.yticks도 마찬가지입니다).
plt.yticks(y_ticks[::5])
#5분마다 눈금을 긋습니다
#3.3 그리드 디스플레이를 추가합니다.
plt.grid(True,linestyle = "--",alpha = 0.6)
매개변수 linestyle은 그리드 선의 종류이고 알파는 그리드 선의 깊이입니다
그림 표시:
1.3 좌표계에 여러 개의 그림을 그립니다
#0 데이터를 준비합니다
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(1,3) for i in x]
#1 캔버스를 만듭니다
plt.figure(figsize=(20,5),dpi=100)
#2 그림을 그립니다
plt.plot(x,y_shanghai,label = "상하이")
#상하이라는 해시태그를 그려주세요.
plt.plot(x,y_beijing,color = 'r',linestyle="--",label="베이징")
#베이징의 이미지를 그려주세요.
plt.legend(loc ="best")
#plt.legend () 함수 설정 범례 위치입니다
#2.1 x,y 눈금을 추가합니다.
x_shanghai_ticks = ['10시 {}분'.format(i) for iin x]
y_shanghai_ticks = range(40)
#2.2 x, y 눈금을 수정합니다.
plt.xticks(x[::5],x_shanghai_ticks[::5])
plt.yticks(y_shanghai_ticks[::5])
#2.3 그리드 디스플레이를 추가합니다.
plt.grid(True , linestyle = "--",alpha = 0.6)
#2.4 태그 데이터 추가요
plt.xlabel("시간", fontsize=20) 입니다.
plt.ylabel("온도", fontsize=20) 입니다.
plt.title("어떤 도시의 어느 날 10시부터 11시까지 온도변화 꺾임선도", fontsize=20)
#fontsize는 글꼴 크기입니다
# 그림을 저장합니다.
plt.savefig("test.png")
#3 그림 보이기입니다
plt.show()
그림 표시:
1.4 다중 좌표 작도
#0 데이터를 준비합니다
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(1,3) for i in x]
#1 캔버스를 만듭니다
plt.figure(figsize=(20,8),dpi=100)
# # fig,axes=plt.subplot(nrows=1,ncols=2,figsize=(20,8),dpi=100)
#2 그림을 그립니다
# axes[0].plot(x,y_shanghai,label = "상하이")
# axes[1].plot(x,y_beijing,color = 'r',linestyle="--",label="베이징")입니다.
f1=plt.subplot(1,2,1)# figure를 한 줄 두 줄로 나누고, 세 번째 숫자는 첫 번째 위치의 그림을 나타냅니다.
f1.scatter(x,y_shanghai,label="상하이",color="r",linestyle="--") #각각 x의 표시범위는 0-3,y의 좌표 0-1입니다.
f2=plt.subplot(1,2,2)# figure를 한 줄 두 줄로 나누고, 세 번째 숫자는 두 번째 위치의 그림을 나타냅니다.
f2.scatter(x,y_beijing,label="베이징")
# #2.1 x,y 눈금을 추가합니다.
x_ticks= ["10시{}분.format(i) for i in x" 입니다.
y_shanghai_ticks = range(40)
# #2.2 x, y 눈금을 수정합니다.
# # plt.xticks(x[::5],x_ticks[::5])
# # plt.yticks(y_shanghai_ticks[::5])
f1.set_xticks(x[::5])
f1.set_yticks(y_shanghai_ticks[::5])
f1.set_xticklabels(x_ticks[::5])
f2.set_xticks(x[::5])
f2.set_yticks(y_shanghai_ticks[::5])
f2.set_xticklabels(x_ticks[::5])
# #2.3 그리드 디스플레이를 추가합니다.
f1.grid(True , linestyle = "--",alpha = 0.6)
f2.grid(True , linestyle = "--",alpha = 0.6)
# #2.4 태그 데이터 추가요
# plt.xlabel("시간", fontsize=20) 입니다.
# plt.ylabel("온도", fontsize=20) 입니다.
# plt.title("어떤 도시의 어느 날 10시부터 11시까지 온도변화 꺾임선도", fontsize=20)
f1.set_xlabel("시간") 입니다.
f1.set_ylabel("온도") 입니다.
f1.set_title("상하이시 10시부터 11시까지 온도변화", fontsize=20)
f2.set_xlabel("시간") 입니다.
f2.set_ylabel("온도") 입니다.
f2.set_title("베이징시 10시부터 11시까지 온도변화", fontsize=20)
f1.legend(loc=0)
f2.legend(loc=0)
# 그림을 저장합니다.
plt.savefig("test.png")
#3 그림 보이기입니다
plt.show()
그림 표시:
1.5 그림 그리기 응용 프로그램입니다
import numpy as np
# 일반 함수의 그림을 그립니다
# 검정색 접선 함수의 그림을 그립니다
# 0 데이터를 준비합니다
x = np.linspace(-10,10,1000)
# x는 -10부터 10까지 등간격으로 1000부 취합니다.
y = np.arctan(x)
# 1 캔버스 만들기
plt.figure(figsize=(20,8),dpi = 100)
# 2 그림을 그립니다
plt.plot(x,y)
# 2.1 그리드를 추가합니다.
plt.grid(True,linestyle = "--",alpha=0.6)
# 3 그림을 표시합니다
plt.show()
그림 표시:
#정비율 함수를 그립니다
y = x
그림 표시:
'개발 꿀팁 > PYTHON' 카테고리의 다른 글
파이썬 인터프리터는 무엇입니까? (1) | 2022.12.09 |
---|---|
놓칠 수 없는 파이썬의 하이라이트 플레이법입니다 (0) | 2022.12.09 |
Python matplotlib 그림 그리기 (첫 번째, 선 색상, 유형 설정) (0) | 2022.12.07 |
파이썬 묘화 기법 (고화질 그림) (0) | 2022.12.07 |
터플이 하트 고백을 그려줍니다 (0) | 2022.12.07 |