JSON Data 를 Matplotlib으로 도표화하는 이유는 데이터를 더 직관적으로 이해하고 분석하기 위해서 라고 생각합니다.

  1. 데이터 시각화: 숫자로만 된 JSON 데이터를 그래프로 변환하면 트렌드나 패턴을 쉽게 파악할 수 있어요.
  2. 비교 분석 용이: 여러 개의 값이나 변수를 한눈에 비교할 수 있고요.
  3. 의사결정 지원: 데이터를 시각적으로 표현하면 빠르게 의미를 파악하고 의사결정을 내리는 데 도움이 됩니다.
  4. 보고 및 프레젠테이션: 그래프는 데이터를 더 명확하게 전달하는 데 유용해요.

즉, JSON 데이터를 Matplotlib으로 시각화하면 데이터를 효과적으로 분석하고 활용할 수 있게 되는 것입니다.

AALP Data, IBM Data, TSLA Data daily Data

Json Data to Matplot Code

import json
import matplotlib.pyplot as plt
import datetime

with open("b0043_IBM.json", "r") as fp_json:
    ibm_data = json.load(fp_json)

with open("b0043_AAPL.json", "r") as fp_json:
    aapl_data = json.load(fp_json)

with open("b0043_TSLA.json", "r") as fp_json:
    tsla_data = json.load(fp_json)

data_lsts = [[],[],[]]
open_lsts = [[],[],[]]
high_lsts = [[],[],[]]
low_lsts = [[],[],[]]
close_lsts = [[],[],[]]
volume_lsts = [[],[],[]]

tmp_datas = [ibm_data, aapl_data, tsla_data]
i = 0
for tmp_lsts in [ibm_data["Time Series (Daily)"],aapl_data["Time Series (Daily)"],
                           tsla_data["Time Series (Daily)"]]:
    for _date in tmp_lsts:
        tmp_data = tmp_lsts[_date]
        data_lsts[i%3].append(datetime.datetime.strptime(_date, '%Y-%m-%d'))
        open_lsts[i%3].append(float(tmp_data['open']))
        high_lsts[i%3].append(float(tmp_data['high']))
        low_lsts[i%3].append(float(tmp_data['low']))
        close_lsts[i%3].append(float(tmp_data['close']))
        volume_lsts[i%3].append(float(tmp_data['volume']))
    i+=1


plt.plot(data_lsts[0], open_lsts[0], 'b--', label="IBM")
plt.plot(data_lsts[1], open_lsts[1], 'r--', label="AAPL")
plt.plot(data_lsts[2], open_lsts[2], 'g--', label="TSLA")

plt.xlabel('Time')
plt.ylabel('Open')
plt.xticks(ticks=data_lsts[0], labels=data_lsts[0], rotation=25)
plt.locator_params(axis='x', nbins=10)
plt.legend()

plt.show()

Apple, IBM, Tesla 3개 기업의 데이터를 1999년 부터 쭉 나열해서 차트로 나타내봤습니다.

Apple의 경우 중간 중간 액면분할을 한 것으로 보이고 계속 상승을 반복한 것으로 보이네요.

IBM의 경우는 참 일관 적인 금액을 유지 한 것으로 보입니다. 물가 상승이 있으니 좀 올라도 될 것 같은데 아쉽네요.

Tesla는 종잡을 수 없네요. 너무 크게 오를때가 있어서 그래프가 이쁘게 나오지 않았네요. 근데 이렇게 업다운이 심한 주가도 찾기 쉽지 않을 것 같습니다. 그러다보니 이럴때 어떤 뉴스가 있었는지 찾아서 매핑 시키는 경우도 좀 본 것 같네요.

어떻든 이렇게 분석을 데이터를 보기 시작하면 훨신 빠르게 분석이 가능하다고 생각합니다.

사람은 정보의 약 80~90%를 시각을 통해 인지한다고 알려져 있어. 우리의 뇌는 텍스트보다 이미지나 그래프를 60,000배 더 빠르게 처리할 수 있다고 알려져 있죠. 그래서 어떤 데이터를 분석하는데 있어서 시각화는 상당히 중요한 분석 방법이라 할 수 있습니다.

By Mark

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다