淘先锋技术网

首页 1 2 3 4 5 6 7

Python是一种多功能的编程语言,可以用于数据分析、机器学习和可视化等各种应用。本文将介绍如何使用Python绘制滚动趋势图,以展示数据的变化趋势。


# 导入必要的库

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.animation as ani

# 读取数据

data = pd.read_csv('data.csv')

# 创建一个画布对象

fig = plt.figure()

# 创建一个子图对象

ax = fig.add_subplot(1, 1, 1)

# 定义图表的标题和标签

ax.set_title('Rolling Trend Chart')
ax.set_xlabel('Year')
ax.set_ylabel('Value')

# 设置图表的横轴范围

ax.set_xlim([2000, 2020])

# 定义一个函数,用于更新滚动趋势图

def update(frame):
    ax.clear()
    current_data = data.iloc[:frame, :]
    ax.plot(current_data['year'], current_data['value'])
    ax.set_xlim([max(2000, frame-10), frame+1])
    ax.set_ylim([min(data['value']), max(data['value'])])
    ax.set_title('Year {}-{}'.format(max(2000, frame-10), frame))
    ax.set_xlabel('Year')
    ax.set_ylabel('Value')
    ax.grid(True)
    plt.xticks(current_data['year'].values[::4])

# 创建一个动画对象,并设置帧速率

animation = ani.FuncAnimation(fig, update, frames=len(data), interval=100)

# 展示图表

plt.show()

python滚动趋势图

以上代码使用了Python的pandas、matplotlib和matplotlib.animation库来读取数据和绘制滚动趋势图。该趋势图将每一年的数据值连成一条折线,并且每个时刻都只展示最近的10年趋势。