Python实现带时间限制的时序图

2024年07月07日 Python实现带时间限制的时序图 极客笔记

Python实现带时间限制的时序图

在数据分析和可视化中,时序图是一种常用的数据展示方式,用于展示数据随时间变化的趋势。但有时候我们需要对时序图中的数据进行筛选,例如只展示某个时间段内的数据。本文将介绍如何使用Python实现带时间限制的时序图,以便更好地展示数据。

准备数据

首先,我们需要准备一些模拟的时序数据。在本文中,我们将使用NumPy库生成一个包含日期和数值的数据集。

import numpy as np
import pandas as pd

dates = pd.date_range('2021-01-01', periods=100)
values = np.random.rand(100)

df = pd.DataFrame({'date': dates, 'value': values})
print(df.head())

运行以上代码,我们将得到一个包含100个日期和对应随机数值的数据集。

        date     value
0 2021-01-01  0.033229
1 2021-01-02  0.798419
2 2021-01-03  0.738371
3 2021-01-04  0.825855
4 2021-01-05  0.400449

绘制时序图

接下来,我们将使用Matplotlib库绘制时序图,展示数据随时间变化的趋势。

import matplotlib.pyplot as plt

plt.plot(df['date'], df['value'])
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('Time Series Plot')
plt.show()

添加时间限制

现在,我们希望对时序图添加时间限制,只展示某个时间段内的数据。我们可以通过筛选数据集的方式实现这一目标。

start_date = '2021-03-01'
end_date = '2021-04-01'

filtered_df = df[(df['date'] >= start_date) & (df['date'] <= end_date)]

plt.plot(filtered_df['date'], filtered_df['value'])
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('Time Series Plot with Time Limit')
plt.show()

运行以上代码,我们将得到只包含指定时间段数据的时序图。

添加时间限制的交互式时序图

除了静态时序图,我们还可以使用Plotly库创建交互式时序图,以便更好地展示数据。

import plotly.express as px

fig = px.line(filtered_df, x='date', y='value')
fig.update_layout(title='Interactive Time Series Plot with Time Limit')
fig.show()

运行以上代码,我们将得到一个交互式时序图,可以通过鼠标悬停查看具体数值。

总结

通过以上步骤,我们使用Python实现了带时间限制的时序图。这种方式可以帮助我们更好地展示数据,突出特定时间段内的趋势和变化。

本文链接:http://so.lmcjl.com/news/8019/

展开阅读全文