python - Matplotlib 用新数据更新图形,图形不显示

标签 python matplotlib

我和这个人有很多同样的问题:Dynamically updating plot in matplotlib 。我想用来自串行端口的数据更新图表,并且我一直在尝试实现这个答案,但我无法让 MWE 工作。该图表根本没有出现,但其他一切似乎都有效。我读到过有关 Matplotlib 安装问题导致类似症状的信息。

这是我的最低不工作示例(MNWE):

import numpy as np
import matplotlib.pyplot as plt

fig1 = plt.figure() #Create figure

l, = plt.plot([], [], 'r-') #What is the comma for? Is l some kind of struct/class?
plt.xlim(0, 1)
plt.ylim(0, 1)
plt.xlabel('x')
plt.title('test')

k = 5
xdata=[0.5 for i in range(k+1)]     # Generate a list to hold data
ydata=[j for j in range(k+1)]

while True:
    y = float(raw_input("y val :"))
    xdata.append(y)     # Append new data to list
    k = k + 1       # inc x value
    ydata.append(k)
    l.set_data(xdata,ydata) # update data
    print xdata     # Print for debug perposes
    print ydata
    plt.draw        # These seem to do nothing
    plt.show        # !?

有人可以给我指出正确的方向/提供链接/告诉我要谷歌搜索什么吗?我迷路了。谢谢

最佳答案

根据用户@fhdrsdg的建议,我缺少括号。使重新调整工作需要以下代码:set_data and autoscale_view matplotlib

下面提供了一个有效的 MWE:

import numpy as np
import matplotlib.pyplot as plt

plt.ion()       # Enable interactive mode
fig = plt.figure()  # Create figure
axes = fig.add_subplot(111) # Add subplot (dont worry only one plot appears)

axes.set_autoscale_on(True) # enable autoscale
axes.autoscale_view(True,True,True)

l, = plt.plot([], [], 'r-') # Plot blank data
plt.xlabel('x')         # Set up axes
plt.title('test')

k = 5
xdata=[0.5 for i in range(k+1)]     # Generate a list to hold data
ydata=[j for j in range(k+1)]

while True:
    y = float(raw_input("y val :")) #Get new data
    xdata.append(y)     # Append new data to list
    k = k + 1       # inc x value
    ydata.append(k)
    l.set_data(ydata,xdata) # update data
    print xdata     # Print for debug perposes
    print ydata
    axes.relim()        # Recalculate limits
    axes.autoscale_view(True,True,True) #Autoscale
    plt.draw()      # Redraw

关于python - Matplotlib 用新数据更新图形,图形不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27589835/

相关文章:

python - 当父 Bash shell 脚本被杀死时停止执行 python 脚本

python - Z 标签未显示在 3d matplotlib 散点图中

python - 使用自动调整大小的子图

Python 无法执行终端脚本,使用 sh 或 bash

python - Pycuda 2019.1,如何正确复制gpuarray?

python - matplotlib 动画线图保持为空

python - Pandas 循环自定义日期(月年)到(月年+N)进行绘图

python - 根据 pandas 数据框中的条件,使用不同标记在 basemap 上绘制点

python - 将 3D 切片绘制为热图

python - 某些边缘可选的中国 postman 算法