Python

파이썬 크롤링과 시각화 기본다지기(2)

J개발자 2021. 9. 21. 20:28
더보기

데이터 시각화기본 다지기

  • matplotlib

 '기본다지기(1)' 의 시각화 순서를 참고하면된다.  2021.09.17 - [Python] - 파이썬 크롤링과 시각화 기본다지기(1)

 

파이썬 크롤링과 시각화 기본다지기(1)

파이썬 크롤링과 시각화를 공부하면서 정리한 내용들이다. 실습 개발 환경 구글에서 제공하는 코랩을 사용하여 실습하고 있다. 다운로드에 소요시간을 줄이고 파이썬 기반 개발을 가능하게 한

swdeveloper-j.tistory.com

subplot

import matplotlib.pyplot as plt  #별칭을 부여해 모든 실습 과정에서 쉽게 접근할 것이다.

data1=[10,20,30,40]
data2=[1,2,3,4]

# 1. Figure객체만들기
fig = plt.figure()
# 2. 좌표평면 만들기
ax1 = fig.add_subplot(2,2,1) #(행x열(2x2)그리드,  ,1번째 suplot)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(223)  #이방법도 있다.(2,2,3)과 같다.

ax1.plot(data2,data1,marker='.',color='r',linestyle='--') #직접 그래프를 지정하는 방법

plt.plot(data2,data1,marker='',color='b',linestyle=':')  #가까운 그래프에 표시되는 방법

plt.show()

 

 

참고 
참고

subplots

객체만들기> 좌표평면만들기(subplots)> 그래프그리기(plot)

import matplotlib.pyplot as plt
fig = plt.figure(figsize=(30,20)) #매개변수 튜블(가,세)
axes = fig.subplots(2,3)     #2x3=6 개의 평면만듦.
type(axes)  #numpy.ndarray : subplot객체들이 담겨있는 리스트라고 생각하면된다.
#[[ax,ax2,ax3],[ax4,ax5,ax6]]
axes[0][1].plot([5,4.3],[1,2.3])  #첫번째 행의 두번째 열
plt.plot([1,2.3],[1,2.3])         #마지막 subplot
plt.show()

 

 

*subplot과 subplots의 차이점은 개별로 만들어주냐 한번에 다량을 만들어주냐의 차이

 

      fig ,    axe  = plt.subplot( , ) 처럼 두개 변수를 받을 수 있는데 변수 순서에 따라 

' 객체  , 개별 그래프 '   라고 생각하면된다.

 

한개 그래프만 만들 시 간단하게 만드는 방법

import matplotlib.pyplot as plt

#plot함수는 figure객체와 AxesSubplot객체가 없을 때 생성해준다.
plt.plot([1,2,10,30,2,9,4,1],label='plot1')   #y축값은 기본으로 나타남
plt.plot([9,8,2,30,10],label='plot2')
plt.legend(loc='upper left')

#축에 이름 부여
plt.xlabel('x')
plt.ylabel('y')

#그래프 제목
plt.title('test')
plt.show()

 

 

 

공급 수요 곡선 그리기 연습

import matplotlib.pyplot as plt

quantity = [i for in range(1,101)]   #파이썬3.0부터 새로 추가된 문접 ' 리스트 컴프리헨션 '
deamnd=[i*i for i in range(1,101)]
supply=[i*i for i in rnage(100,0,-1)]

fig = plt.figure()
ax=fig.add_subplot()
ax.plot(quantity,demand,label='demand')  #x축을 quantity로 지정 y축은 자동으로 값이 맞춰짐
ax.plot(quantity,supply,label='supply')  

ax.legend(loc='upper center')
plt.xlabel('quantity')
plt.ylabel('price')
plt.title('demand & supply')

#해당 파일로 저장한다.
plt.savefig('/content/drive/MyDrive/1900_python2_jsh/sample.jpg')  
plt.show()

 

 

 

막대그래프

import matplotlib.pyplot as plt
from random import randint

data=[randint(1,50) for i in range(7)]
x=['mon','tues','weds','thurs','fri','sat','sun']

fig=plt.figure()
ax=fig.add_subplot(111)

#막대그래프
ax.bar(x , data ,label='data')  #(x축 ,y축, 그래프내용)
plt.show()

 


추가 배운 내용들...

 

리스트 컴프리 헨션

#1~100값들을 배열에 저장하는 방법1

li =[]
for i in range(1,101):
   li.append(i)
   
   
#파이썬 3.0 부터 추가된 '리스트 컴프리헨션' 문법

a = [i for i in range(1,101)]
b = [i*i for i in range(1,101)]
c = [i*i for i in range(100,0,-1)]
print(a)
print(b)
print(c)

코랩에 드라이브 연결

from gogle.colab import drive
drivce.mount('/content/drivce')

파일 텍스트 형태("")로 읽어오기

f = open('파일이름.cvs',mode='r',encoding='euc-kr')
#read()
#readline() :한줄씩 읽음
#readlines():한줄로 읽음

print(f.read())
f.close()