Tôi đã gặp phải lỗi tương tự ngày hôm nay, về mã mà tôi biết thực tế đã hoạt động cách đây một tuần. Tôi cũng vừa mới gỡ cài đặt/cài đặt lại cả Matplotlib và Numpy, trong khi kiểm tra cái gì khác (tôi đang sử dụng Python 2.5).
Mã này đã đi một cái gì đó như thế này:
self.ax.cla()
if self.logy: self.ax.set_yscale('log')
self.canvas.draw()
Bất cứ khi nào nó được chạy với self.logy như True, nó thất bại như trên. Nếu không, nó hoạt động hoàn hảo tốt.
Tôi đã kết thúc bằng cách gỡ cài đặt Matplotlib và Numpy và cài đặt các phiên bản mới nhất của chúng. Tuy nhiên, phiên bản ném lỗi trước đó đã được sử dụng mà không có vấn đề gì. Chỉ sau khi trao đổi phiên bản cũ cho phiên bản mới hơn và ngược lại thì điều này đã bắt đầu xảy ra.
Có lẽ quá trình gỡ cài đặt/cài đặt lại sẽ làm rối loạn một số khía cạnh nhất định của tệp cấu hình.
Để hoàn chỉnh, đây là traceback hoàn chỉnh đưa ra:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\path\to\file\being\called\by\Tkinter.py", line 1081, in refresh
self.canvas.draw()
File "C:\Python25\Lib\site-packages\matplotlib\backends\backend_tkagg.py", line 215, in draw
FigureCanvasAgg.draw(self)
File "C:\Python25\Lib\site-packages\matplotlib\backends\backend_agg.py", line 314, in draw
self.figure.draw(self.renderer)
File "C:\Python25\Lib\site-packages\matplotlib\artist.py", line 46, in draw_wrapper
draw(artist, renderer, *kl)
File "C:\Python25\Lib\site-packages\matplotlib\figure.py", line 773, in draw
for a in self.axes: a.draw(renderer)
File "C:\Python25\Lib\site-packages\matplotlib\artist.py", line 46, in draw_wrapper
draw(artist, renderer, *kl)
File "C:\Python25\Lib\site-packages\matplotlib\axes.py", line 1735, in draw
a.draw(renderer)
File "C:\Python25\Lib\site-packages\matplotlib\artist.py", line 46, in draw_wrapper
draw(artist, renderer, *kl)
File "C:\Python25\Lib\site-packages\matplotlib\axis.py", line 742, in draw
tick.draw(renderer)
File "C:\Python25\Lib\site-packages\matplotlib\artist.py", line 46, in draw_wrapper
draw(artist, renderer, *kl)
File "C:\Python25\Lib\site-packages\matplotlib\axis.py", line 196, in draw
self.label1.draw(renderer)
File "C:\Python25\Lib\site-packages\matplotlib\text.py", line 515, in draw
bbox, info = self._get_layout(renderer)
File "C:\Python25\Lib\site-packages\matplotlib\text.py", line 279, in _get_layout
clean_line, self._fontproperties, ismath=ismath)
File "C:\Python25\Lib\site-packages\matplotlib\backends\backend_agg.py", line 156, in get_text_width_height_descent
self.mathtext_parser.parse(s, self.dpi, prop)
File "C:\Python25\Lib\site-packages\matplotlib\mathtext.py", line 2797, in parse
font_output = fontset_class(prop, backend)
File "C:\Python25\Lib\site-packages\matplotlib\mathtext.py", line 658, in __init__
self._stix_fallback = StixFonts(*args, **kwargs)
File "C:\Python25\Lib\site-packages\matplotlib\mathtext.py", line 900, in __init__
fullpath = findfont(name)
File "C:\Python25\Lib\site-packages\matplotlib\font_manager.py", line 1306, in findfont
if not os.path.exists(font):
File "C:\Python25\lib\ntpath.py", line 255, in exists
st = os.stat(path)
TypeError: coercing to Unicode: need string or buffer, dict found
Đối với bất kỳ giá trị nào, vì điều này rõ ràng là phụ thuộc vào hệ thống, bạn có thể có may mắn hơn khi yêu cầu điều này trong danh sách người dùng matplotlib: https://lists.sourceforge.net/lists/listinfo/matplotlib-users –
Bạn có thể đăng cả traceback nữa? –