Matplotlib动画代码引发KeyError 0错误

时间:2020-04-03 22:45:00

标签: matplotlib

我还是Python的新手,如果这是一个菜鸟问题,请多多包涵。

我正在尝试绘制随时间变化的CO2浓度图表,也就是基林曲线。

我的csv文件包含两列: 期限(以年份为单位,例如0.001)和 CO2浓度(以百万分之一为单位,例如413.53)。

我的代码(无害地借用了其核心元素)在对Animate()进行Funcanimation调用时抛出了KeyError 0错误。

任何想法都将不胜感激,因为到目前为止,我在Google上对解决方案的搜索已成为空白。

我的代码是一个跟随者...

from matplotlib import pyplot as plt
from matplotlib import animation
import pandas as pd
import numpy as np

df = pd.read_csv('/home/mark/Documents/Data/ClimateData/antarctica2015co2_v5a_stripped.csv')

print(df.head)

Writer = animation.writers['ffmpeg']
writer = Writer(fps=20, metadata=dict(artist='Me'), bitrate=1800)

# First set up the figure, the axis, and the plot element we want to animate
#---------------------------------------------------------------------------
fig = plt.figure()

ax = plt.axes(
        xlim=(8000000, 0),
        ylim=(np.min(df)['CO2'], np.max(df)['CO2']))

line, = ax.plot([], [], lw=1)

# Initialization function: plot the background of each frame
#-----------------------------------------------------------
def init():
    line.set_data([], [])
    return line,

# Animation function of dataframes list
#---------------------------------------
def animate(i):
    line.set_data(df[i]['Term'], df[i]['CO2'])
    return line,

# Call the animator, animate every 300 ms
# Set number of frames to the length of your list of dataframes
#--------------------------------------------------------------
anim = animation.FuncAnimation(
        fig,
        animate,
        frames=len(df.index),
        init_func=init,
        interval=300,
        blit=True)

anim.save('/home/mark/Documents/Data/KeelingCurve.mp4', writer=writer)

我正在运行Python 3.7.1,Anaconda 1.9.12和Spyder 3.3.6 IDE。

0 个答案:

没有答案