Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Teknik visualisasi data siri masa dalam Python

Teknik visualisasi data siri masa dalam Python

王林
王林asal
2023-06-10 22:45:063230semak imbas

Apabila data terus berkembang dan berubah, analisis data siri masa menjadi semakin penting. Sebagai bahasa pengaturcaraan sumber terbuka, fleksibel dan mudah digunakan, Python juga digunakan secara meluas dalam bidang analisis data siri masa. Dalam artikel ini, kami akan meneroka teknik visualisasi data siri masa dalam Python untuk membantu anda memahami dan menganalisis data siri masa dengan lebih baik.

1. Pengenalan kepada perpustakaan Matplotlib

Matplotlib ialah perpustakaan visualisasi yang digunakan secara meluas dalam Python, menyokong pelbagai jenis carta, seperti carta garis, carta bar, carta pai, carta serakan, dsb. . Penggunaannya mudah dan mudah difahami, dan ia boleh disertakan dalam pakej pemasangan Python standard. Di bawah ini kami akan memperkenalkan cara menggunakan Matplotlib untuk melukis graf data siri masa.

2. Carta garisan

Carta garisan ialah cara paling biasa untuk mempersembahkan carta data siri masa. Melalui carta garis, arah aliran dan perubahan data boleh dipaparkan dengan jelas, dan perbezaan antara data pada masa yang berbeza boleh dinyatakan dengan lebih intuitif. Seterusnya, kami mula-mula membina satu set data ujian:

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()

Seperti yang ditunjukkan di atas, kami menghasilkan jujukan aritmetik x yang mengandungi 1000 nombor melalui fungsi linspace, dan mengira fungsi sinus padanya, ditambah dengan istilah hingar rawak, dengan itu memperoleh data sampel y. Kemudian kami memanggil fungsi plot dalam Matplotlib, lulus dalam x dan y, dan memanggil fungsi pertunjukan untuk memaparkan carta garis.

3. Carta kawasan

Carta kawasan boleh digunakan untuk membentangkan trend perubahan data siri masa dan menunjukkan hubungan antara penunjuk tertentu dan jumlah keseluruhan. Dalam Matplotlib, anda boleh membuat plot kawasan dengan mudah menggunakan fungsi fill_between. Seterusnya kita membina satu lagi set data ujian dan melukis carta kawasan:

# 生成随机的正态分布函数
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()

Dalam contoh ini, kita mula-mula menggunakan fungsi cumsum untuk menyepadukan fungsi taburan normal rawak, dapatkan jumlah kumulatif, dan kemudian gunakan fungsi fill_between. Peta kawasan biru dilukis dan ketelusannya dilaraskan. Gunakan fungsi plot untuk melukis carta garisan jumlah terkumpul, dan nyatakan warna dan ketelusan jenis garisan.

4. Peta haba

Peta haba boleh digunakan untuk mempersembahkan perubahan data dalam julat masa tertentu dan arah aliran perubahan data diwakili oleh perubahan warna. Dalam Matplotlib, anda hanya perlu memanggil fungsi imshow untuk membuat peta haba. Seterusnya, kami melukis peta haba melalui set data data_buku:

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()

Dengan mengimport set data data_buku, kami memperoleh jadual data yang mengandungi bilangan buku pelbagai kategori dalam setiap tahun. Kemudian kami menggunakan fungsi imshow untuk memetakan nilai dalam jadual data ke palet merah, dan menambah beberapa elemen carta, seperti label paksi, tajuk, bar warna, dll. Dengan melaraskan reka letak, anda boleh menjadikan carta lebih cantik dan lebih mudah difahami.

5. Ringkasan

Artikel ini memperkenalkan fungsi utama perpustakaan Matplotlib dan beberapa teknik visualisasi data siri masa biasa: carta garisan, carta kawasan dan peta haba. Teknik ini boleh membantu kami memahami dan menganalisis data siri masa dengan lebih baik untuk membuat keputusan yang lebih tepat dan bernilai. Pada masa yang sama, dalam penggunaan sebenar, anda juga boleh melaraskan elemen carta untuk menjadikan carta lebih cantik dan lebih mudah difahami.

Atas ialah kandungan terperinci Teknik visualisasi data siri masa dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn