Python의 시계열 데이터 시각화 기술

王林
풀어 주다: 2023-06-10 22:45:06
원래의
3213명이 탐색했습니다.

데이터가 계속 증가하고 변화함에 따라 시계열 데이터 분석이 점점 더 중요해지고 있습니다. 유연하고 사용하기 쉬운 오픈 소스 프로그래밍 언어인 Python은 시계열 데이터 분석 분야에서도 널리 사용됩니다. 이 기사에서는 시계열 데이터를 더 잘 이해하고 분석하는 데 도움이 되도록 Python의 시계열 데이터 시각화 기술을 살펴보겠습니다.

1. Matplotlib 라이브러리 소개

Matplotlib는 Python에서 널리 사용되는 시각화 라이브러리로 꺾은선형 차트, 막대형 차트, 원형 차트, 분산형 차트 등 다양한 유형의 차트를 지원합니다. 사용법은 간단하고 이해하기 쉬우며 표준 Python 설치 패키지에 포함될 수 있습니다. 아래에서는 Matplotlib을 사용하여 시계열 데이터 그래프를 그리는 방법을 소개합니다.

2. 꺾은선형 차트

꺾은선형 차트는 시계열 데이터 차트를 표현하는 가장 일반적인 방법입니다. 라인 차트를 통해 데이터의 추세와 변화를 명확하게 표시할 수 있으며, 시점별 데이터 간의 차이를 보다 직관적으로 표현할 수 있습니다. 다음으로, 먼저 테스트 데이터 세트를 구성합니다:

import numpy as np

# 生成随机正弦函数
x = np.linspace(0, 10, 1000)
y = np.sin(x) + np.random.randn(len(x)) * 0.1

# 绘制折线图
import matplotlib.pyplot as plt

plt.plot(x, y)
plt.show()
로그인 후 복사

위에 표시된 것처럼 우리는 linspace 함수를 통해 1000개의 숫자를 포함하는 산술 시퀀스 x를 생성하고 여기에 사인 함수와 랜덤 노이즈 항을 계산했습니다. 이런 식으로, 샘플 데이터 y가 얻어집니다. 그런 다음 Matplotlib에서 플롯 함수를 호출하고 x와 y를 전달한 다음 show 함수를 호출하여 꺾은선형 차트를 표시합니다.

3. 영역형 차트

영역형 차트는 시계열 데이터의 변화 추세를 제시하고 특정 지표와 전체 합계 간의 관계를 보여주는 데 사용할 수 있습니다. Matplotlib에서는 fill_between 함수를 사용하여 영역 플롯을 쉽게 만들 수 있습니다. 다음으로 다른 테스트 데이터 세트를 구성하고 영역 차트를 그립니다.

# 生成随机的正态分布函数
x = np.linspace(0, 10, 1000)
y = np.random.randn(len(x)).cumsum()

# 绘制区域图
plt.fill_between(x, y, color='skyblue', alpha=0.2)
plt.plot(x, y, color='skyblue', alpha=0.6)
plt.show()
로그인 후 복사

이 예에서는 먼저 cumsum 함수를 사용하여 무작위 정규 분포 함수를 통합하여 누적 합계를 얻은 다음 fill_between 함수를 사용하여 파란색을 그립니다. 투명도가 조정된 영역 지도입니다. 플롯 기능을 사용하여 누적합의 꺾은선형 차트를 그리고 선 종류의 색상과 투명도를 지정합니다.

4. 히트맵

히트맵은 특정 시간 범위 내의 데이터 변화를 나타낼 수 있으며, 데이터의 변화 추세를 색상 변화로 표현합니다. Matplotlib에서는 imshow 함수만 호출하면 히트맵을 만들 수 있습니다. 아래에서는 book_data 데이터 세트를 사용하여 히트맵을 그립니다.

from matplotlib import cm

# 导入book_data数据集
from vega_datasets import data
book_data = data.books()

# 绘制热度图
fig, ax = plt.subplots(figsize=(12, 6))
im = ax.imshow(book_data.pivot(index='year', columns='category', values='books'),
               cmap=cm.Reds, interpolation='nearest')

# 设置图表元素
ax.set_xticks(np.arange(len(book_data['category'].unique())))
ax.set_yticks(np.arange(len(book_data['year'].unique())))
ax.set_xticklabels(book_data['category'].unique())
ax.set_yticklabels(book_data['year'].unique())
ax.set_title('书籍类别和年份图书数量热度图')

# 添加坐标轴的标签
ax.set_xlabel('书籍类别')
ax.set_ylabel('年份')

# 添加颜色条
cbar = ax.figure.colorbar(im, ax=ax)
cbar.ax.set_ylabel('图书数量', rotation=-90, va="bottom")

# 调整布局
plt.tight_layout()
plt.show()
로그인 후 복사

book_data 데이터 세트를 가져와서 매년 다양한 카테고리의 도서 수를 포함하는 데이터 테이블을 얻었습니다. 그런 다음 imshow 함수를 사용하여 데이터 테이블의 값을 빨간색 팔레트에 매핑하고 축 레이블, 제목, 색상 막대 등과 같은 일부 차트 요소를 추가합니다. 레이아웃을 조정하면 차트를 더욱 아름답고 이해하기 쉽게 만들 수 있습니다.

5. 요약

이 글에서는 Matplotlib 라이브러리의 주요 기능과 몇 가지 일반적인 시계열 데이터 시각화 기술(선 차트, 영역 차트, 히트 맵)을 소개합니다. 이러한 기술은 시계열 데이터를 더 잘 이해하고 분석하여 더 정확하고 가치 있는 결정을 내리는 데 도움이 될 수 있습니다. 동시에 실제 사용 시 차트 요소를 조정하여 차트를 더욱 아름답고 이해하기 쉽게 만들 수도 있습니다.

위 내용은 Python의 시계열 데이터 시각화 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!