【发布时间】:2016-12-14 04:52:09
【问题描述】:
我无法使连接图表上各点的线平滑。这似乎更困难,因为我正在运行一个动画图,我在网上看到的所有示例都是静态图。我尝试遵循这个插值示例,但我似乎无法让它工作。那里有任何 matplotlib 大师吗?这是图表的代码。
import psutil
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.animation as animation
from collections import deque
fig = plt.figure()
ax = plt.axes(xlim=(0, 200), ylim=(0, 100))
line, = ax.plot([],[])
y_list = deque([-1]*200)
x_list = deque(np.arange(200,0,-1))
def init():
line.set_data([],[])
return line,
def animate(i):
y_list.pop()
y_list.appendleft(psutil.cpu_percent(None,False))
line.set_data(x_list,y_list)
return line,
anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=200, interval=100, blit=True)
plt.show()
【问题讨论】:
-
@MikeJSChoi 不是重复的。在这里的这个问题中,'smooth' 是指屏幕上线条的平滑,而在链接问题中,'smooth' 是指动画中的过渡。
-
@HexxNine 什么是“这个插值示例”?你能链接到它吗?您还需要说出平滑线的确切含义?一条直线,显示平均值还是曲线?其他插值示例在多大程度上不适合您?问题到底出在哪里?
-
@ImportanceOfBeingErnest 这是我所指的链接,我想我把它放在上面猜我忘了:P docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html
标签: python matplotlib