[Python 기본] 2. python을 이용하여 다양한 chart 그리기

2023년 01월 06일 by Coco___

    [Python 기본] 2. python을 이용하여 다양한 chart 그리기 목차
728x90
반응형

Photo by Emile Perron on Unsplash

 

1. 따라하면서, 기본적인 그래프 그려보기 

 

다음의 기본적인 예시를 살펴보자.

1
2
3
4
5
6
7
8
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
 
fig, ax = plt.subplots()  # Create a figure containing a single axes.
ax.plot([1234], [1423]);  # Plot some data on the axes.
 
plt.show()
cs
 
이 함수는,  ax라는 하나의 축을 기준으로 값을 갖는 fig, 즉 figure를 그리라는 의미다.
좀 더 쉽게 설명하자면, 아래줄을 보면 쉽다. 
ax.plot([1, 2, 3, 4], [1, 4, 2, 3]);  # Plot some data on the axes.

 

즉 X 축이 1부터 4까지인데, 각각의 값을 1,4,2,3을 가지는 그래프를 그리고 싶다는 의미이다. 
이렇게 코드를 짜서 그리게 되면, 다음과 같은 그래프를 그릴 수 있다. 

 

 

좀 더 자세한 figure에 대한 설명은 오른쪽 그림에서 확인 할 수 있다. 

 

chart를 다양하게 그려보자

 

이번에는 여러가지 plt을 실행해보자. 

각각을 하나하나 실행하면, 어떻게 차트가 형성이 될까? 

가장 먼저, 첫번째는 아무 것도 그려지지 않은 모습이 형성된다는 것을 알 수 있다. 

그리고 plt.subplots 의 경우에는 하나의 axes를 그려주며, (2,2)를 추가하면 가로로 2개 세로로2 개 총 4개의 차트가 그려지는 모습을 우리는 python결과로 확인할 수 있다. 

 

=> 즉 다양하게 우리는 chart를 뽑아낼 수 있다. 

1
2
3
fig = plt.figure()  # an empty figure with no Axes
fig, ax = plt.subplots()  # a figure with a single Axes
fig, axs = plt.subplots(22)  # a figure with a 2x2 grid of Axes
cs

 

Bar chart 그리기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import matplotlib.pyplot as plt
 
fig, ax = plt.subplots()
 
fruits = ['apple''blueberry''banana''orange']  #fruit종류를 list로 선언
counts = [401003055]  #count 갯수 역시 list로 선언
bar_labels = ['red''blue''olive''orange']
bar_colors = ['tab:red''tab:blue''tab:olive''tab:orange']
 
ax.bar(fruits, counts, label=bar_labels, color=bar_colors) #bar차트로 나타낼 항목
 
ax.set_ylabel('fruit supply'#차트에 ylabel을 추가하고 
ax.set_title('Fruit supply by kind and color')  #tilte도 추가해준다. 
ax.legend(title='Fruit color')
 
plt.show()
cs

 

이번에는 막대 모양의 차트를 그려볼 것이다. 

달라진 점은, ax.bar (이전에는 ax.plot 이었다면, 이번에는 bar로 그려주면 된다.)

 

그래프를 그려보면 다음과 같이, y label과 title이 표현된 bar 그래프가 

색깔별로 잘 나타난 점을 확인할 수 있다. 

 

 

이렇게 기본적으로 어떤 방식으로 그래프를 그릴 지 알아보았다. 

이제는 실전에 적용하면서 실습을 진행해보자. 

 

이번 목표는 top 50개의 영화를 연도 / 비용 data로 정리된 excel 파일을 가져와, 

각 연도별로 몇개의 영화가 방영됐는지 확인하여 그래프로 그려보는 실습을 도전해보고자 한다. 

 

 

*모든 예시는 해당 자료 참고

Quick start guide — Matplotlib 3.6.2 documentation

 

Quick start guide — Matplotlib 3.6.2 documentation

Axes labels and text set_xlabel, set_ylabel, and set_title are used to add text in the indicated locations (see Text in Matplotlib Plots for more discussion). Text can also be directly added to plots using text: mu, sigma = 115, 15 x = mu + sigma * np.rand

matplotlib.org

 

728x90
반응형