Python による時系列データ視覚化テクニック

王林
リリース: 2023-06-10 22:45:06
オリジナル
3200 人が閲覧しました

データが増大し、変化し続けるにつれて、時系列データ分析の重要性がますます高まっています。 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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!