자 오늘도 파이썬 포스팅을 이어가 보겠습니다
최대한 쉽게 설명해드리려고 원고를 쓰다보니 시간이 오래 걸린점 죄송합니다
저는 기본적인 문법이나 형식적인 것들 보다는
쉽게 배울수 있고 실용적인 파이썬을 하고 싶습니다
형식적으로 이 구문은 어느걸 의미한다 이런거 보다는
그래프를 그리고 제게 주어진 자료를 시각화 하고
이런 파이썬을 하고 싶습니다
그러기 위해서는 matplotlib라는 라이브러리가 가장 좋다고 생각합니다
물론 빅데이터를 다루고 시각화 하는 데는
R프로그래밍이 제일 좋긴 합니다
R프로그래밍도 포스팅을 위해 공부중입니다
자 본론으로 들어와서 matplotlib는 본래
matlab이라는 유료 라이브러리로 인해 만들어졌습니다
미국 대학에서만 무료로 제공하기 때문에
이를 사용하기 위해 파이썬 고수분들이 새로 만드신 라이브러리입니다
수치데이터를 효과적으로 시각화하기 위한 API입니다
그래프프에 대한 요소들을 수정하고 변경해가며
시각화에 도움을 주는 라이브러리입니다
먼저 x축과 y축을 만들기 위해
2개의 리스트를 만들어 주겠습니다
그래프를 그리기 위해서는 matplotlib.pyploy 즉,
plt로 불러온 라이브러리를 사용해야 합니다
다음은 그래프의 종류를 정해주어야 하는데
plot은 선형 그래프, scatter는 산점도, bar는 막대그래프 등
이렇게 다양하게 있습니다
plt로는 이미지를 불러오거나 3D 그래프를 그리는 것도 가능합니다
가장 기본적인 선형 그래프를 그려보겠습니다
형식은 plt.그래프 종류(x축의 값, y축의 값)으로 이루어지며
가장 기본적인 그래프인 동시에 가장 간단한 문법을 사용한 방식입니다
입력해서 그리면 이렇게 그래프가 나옵니다
보시면 x축의 이름이나 y축의 이름, 제목 등 이런 것들은
추가해 주어야 합니다
default 값으로는 정해진 것이 없기 때문입니다
이제 제목부터 하나씩 차근차근 추가해 보겠습니다
plt.title('제목') 형식입니다 추가로 제목의 크기를 조정하고 싶으면
fontsize = 크기(숫자)를 제목 뒤에 ,를 한 후 입력해주면 됩니다
다음은 축의 이름입니다
plt.label('라벨 명')형식이며 제목과 마찬가지로
fontsize 조절도 가능합니다
grid 추가도 가능합니다
grid는 default 값이 False로 되어 있기 때문에
따로 True로 입력해줘야 보입니다
colab은 시용자에게 편리한 기능을 많이 제공합니다
특히 코딩을 하다가 이 함수에 관련된 parameter들이
궁금하다 하면 plt.plot?라고 치면 됩니다
옆에 도움말이라는 창이 뜨면서 plt.plot에서 사용되는
parameter나 example 등 다양한 것들을 보여줍니다
vscode나 jupyter 노트북은 직접 구글링을 해야하지만
colab은 구글에서 만든 오픈소스이기 때문에
자동으로 해줍니다
plta만이 아니라 oo - style을 이용해서 그리기도 가능합니다
oo - style 이란 객체지향을 말하며 보통
그래프를 한 번에 여러개 그리거나 할때 사용합니다
oo - style은 아래 사진처럼 작성하면 됩니다
보시면 x축과 y축의 tick font가 작은 것을 보실 수 있습니다
이것 또한 조절이 가능합니다
plt.xticks와 plt.yticks로 plt.xticks(fontsize = 15)이런 식으로
하면 fontsize가 커집니다
tick에는 major tick과 minor tick 두 종류가 있습니다
majot tick은 1, 2, 3.. 과 같은 큰 tick을 말합니다
반면 micor tick은 1과 2 사이에 있는 0.1, 0.2.. 같은 작은 tick을 말합니다
np.random.seed는 난수생성기인 random 함수의
값을 고정시키는 것입니다
random 함수는 런타임을 새로 할때마다
매번 새로운 수를 뽑기 때문에 값이 매번 달라집니다
그렇지 않고 난수를 사용하면서 값을 고정하려면
seed를 고정하면 됩니다
다음은 산점도를 그려보겠습니다
산점도는 scatter로 위에 plot그래프는 각각의 값을
선으로 모두 연결한 그래프라면
산점도는 연결하지 않고 값만 나타낸 것입니다
이번에는 matplotlib 공식 홈페이지에서 산점도를 하나 가져오겠습니다
이 산점도에 꼭 알아야할 것들이 몇가지 있기 때문입니다
수를 뽑고 산점도를 그렸습니다
특별히 봐야할 부분은 없고 이 산점도에서
눈여겨 봐야할 것은 color와 size입니다
color와 size는 특정한 색깔만이 아닌
자료로도 가능합니다
위에 코드를 보시면 color에 해당하는 c에
data라는 변수 한에 'a'변수로 되어있는 것을 보실 수 있습니다\
어떻게 색깔이 들어가는 부분에 자료가 들어가냐
하는 생각이 드실 수도 있습니다
이때는 자료는 자료 그 자체라기 보다는
자료 하나하의 값을 colorbar에 넣었을때
위치하는 색깔을 입히는 것이라고 생각하시면 됩니다
예를 들어 컬러바가 이렇게 있다고 합시다
랜덤으로 저 범위안에서 뽑힌수가 30이라고 해봅시다
그러면 그 값의 색깔은 빨간색 입니다
그렇기 때문에 color를 이 자료로 한다면
빨간색이 첫번째 marker의 색깔이 되는겁니다
그렇기 때문에 자신이 설정한 자료 변수는
모두 color로 설정이 가능합니다
size 또한 비슷한 메커니즘으로
'a'라는 자료에는 0 ~ 49까지의 50개의 정수가 들어 있습니다
이들 값의 크기를 O모양으로 나타내라고 한다면
아주 작은 동그라미부터 점점 커져서 49의 동그라미 가장 클 것입니다
대충 이해가 가시죠?
size에 자료를 넣으면 이렇게 각 index에 해당하는
값들이 크기로 바뀌고 그것이 marker size로 표현이 되는 것입니다
오늘은 여기까지이고
matplotlib는 매우 범위가 넓은 라이브러리이기 때문에
포스팅을 여러번 해야될 것 같습니다
일단은 기초적인 그래프 형태와 문법 같은 것만 알아봤고
다음 포스팅에서는 조금 더 심화적인 것들을 해보겠습니다
꼭 제 블로그가 아니더라도 다른 분들 블로그나
matplotlib 공식 홈페이지도 있으니까
참고해 가시면서 공부하시면 될 것 같습니다
'파이썬' 카테고리의 다른 글
작업 4 : 표준 정규 분포 그려보기 (0) | 2022.04.08 |
---|---|
작업 2 : Folium으로 울진 산불 지도에 표시해보기 (0) | 2022.03.22 |
내 파이썬 목표 (0) | 2021.10.05 |
자료를 불러오고 편집해보자 (0) | 2021.09.30 |
Colab을 이용해보자 (0) | 2021.09.30 |