如何在 Python 中创建简单的折线图
How to create a simple line graph in Python
谁能告诉我在Python中是否有制作不断更新的折线图的方法?感谢您的任何回答。
首先,您需要安装一些依赖项:matplotlib 和 numpy。
第一个选项是像本例中那样使用 matplotlib 动画:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
def update_line(num, data, line):
line.set_data(data[..., :num])
return line,
fig1 = plt.figure()
data = np.random.rand(2, 25)
l, = plt.plot([], [], 'r-')
plt.xlim(0, 1)
plt.ylim(0, 1)
plt.xlabel('x')
plt.title('test')
line_ani = animation.FuncAnimation(fig1, update_line, 25, fargs=(data,l),interval=50, blit=True)
plt.show()
一个更数学的选项是这个:
import matplotlib.pyplot as plt
import numpy as np
import time
x = np.linspace(0, 1, 20)
y = np.random.rand(1, 20)[0]
plt.ion()
fig = plt.figure()
ay = fig.add_subplot(111)
line1, = ay.plot(x, y, 'b-')
for i in range(0,100):
y = np.random.rand(1, 20)[0]
line1.set_ydata(y)
fig.canvas.draw()
time.sleep(0.1)
希望这就是您要找的。
谁能告诉我在Python中是否有制作不断更新的折线图的方法?感谢您的任何回答。
首先,您需要安装一些依赖项:matplotlib 和 numpy。
第一个选项是像本例中那样使用 matplotlib 动画:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
def update_line(num, data, line):
line.set_data(data[..., :num])
return line,
fig1 = plt.figure()
data = np.random.rand(2, 25)
l, = plt.plot([], [], 'r-')
plt.xlim(0, 1)
plt.ylim(0, 1)
plt.xlabel('x')
plt.title('test')
line_ani = animation.FuncAnimation(fig1, update_line, 25, fargs=(data,l),interval=50, blit=True)
plt.show()
一个更数学的选项是这个:
import matplotlib.pyplot as plt
import numpy as np
import time
x = np.linspace(0, 1, 20)
y = np.random.rand(1, 20)[0]
plt.ion()
fig = plt.figure()
ay = fig.add_subplot(111)
line1, = ay.plot(x, y, 'b-')
for i in range(0,100):
y = np.random.rand(1, 20)[0]
line1.set_ydata(y)
fig.canvas.draw()
time.sleep(0.1)
希望这就是您要找的。