【发布时间】:2018-08-17 13:28:31
【问题描述】:
我尝试过类似以下的方法:
import matplotlib.pyplot as plt
import numpy as np
d= [1,2,3,4]
f = [1,2,3,4,5]
plt.ion()
fig = plt.figure()
fig.set_size_inches(10,5)
ax1 = fig.add_subplot(111)
line1, = ax1.plot(np.arange(len(d)),d,color='blue', label='first',marker=".")
line2, = ax1.plot(np.arange(len(f)),f,color='red', label='second',marker=".")
plt.show()
for i in range(20):
d.append(i)
f.append(i)
line1.set_xdata(np.arange(len(d)))
line2.set_xdata(np.arange(len(f)))
line1.set_ydata(d)
line2.set_ydata(f)
得到类似这样的错误:
>>> Exception in Tkinter callback
Traceback (most recent call last):ges\numpy\lib\stride_tricks.py", line 249, in broadcast_arrays
File "C:\Python35\lib\site-packages\matplotlib\backends\tkagg.py", line 26, in blit
dataptr, colormode, bboxptr)kages\numpy\lib\stride_tricks.py", line 184, in _broadcast_shape
_tkinter.TclError: this isn't a Tk application
ValueError: shape mismatch: objects cannot be broadcast to a single shape
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python35\lib\tkinter\__init__.py", line 1549, in __call__
return self.func(*args)
File "C:\Python35\lib\tkinter\__init__.py", line 596, in callit
func(*args)
File "C:\Python35\lib\site-packages\matplotlib\backends\_backend_tk.py", line 310, in idle_draw
self.draw()
File "C:\Python35\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 13, in draw
tkagg.blit(self._tkphoto, self.renderer._renderer, colormode=2)
File "C:\Python35\lib\site-packages\matplotlib\backends\tkagg.py", line 34, in blit
dataptr, colormode, bboxptr)
_tkinter.TclError: this isn't a Tk application
即使它没有改变 x 轴值。
我想像实时显示一样在同一个图表中显示这两个值。
数组有不同的大小。应用被称为重复的问题的解决方案后出现错误:
ValueError:形状不匹配:无法将对象广播到单个形状
我的查询与不同的数组大小和实时绘图有关。
【问题讨论】:
-
@DavidG 在将问题设为重复之前,您是否尝试过我的示例并发现问题相似?我尝试了您指定为重复或类似链接的解决方案,但对我没有用。
-
@DavidG 在我尝试实施时出现错误。
ValueError: shape mismatch: objects cannot be broadcast to a single shape如您所见,您所说的问题是重复的,没有数组长度不同的问题。请检查一次。 -
@DavidG 你有什么答案吗,请告诉我。您已将我标记为重复,所以请告诉我您发现了什么相似之处以及适合我的答案。
标签: python python-3.x matplotlib