我使用的是win10 64位,python2.7版本。
在看《机器学习实战》这本书的时候,出现了下面的问题。
代码如下:
# -*- coding: utf-8 -*- """ Created on Thu Apr 06 09:01:25 2017 @author: ning0 """ import matplotlib.pyplot as plt decisionNode = dict(boxstyle = "sawtooth",fc = "0.8") leafNode = dict(boxstyle = "round4",fc = "0.8") arrow_args = dict(arrowstyle = "<-") def plotNode(nodeTxt,centerPt,parentPt,nodeType): createPlot.ax1.annotate(nodeTxt,xy = parentPt, \ xycoords = "axes fraction",xytext = centerPt,\ textcoords = 'axes fraction',va = 'center',\ bbox = nodeType,arrowprops = arrow_args) def createPlot(): fig = plt.figure(1,facecolor='white') fig.clf() createPlot.ax1 = plt.subplot(111,frameon = False) plotNode('叶节点',(0.5,0.1),(0.1,0.5),decisionNode) plotNode('决策节点',(0.8,0.1),(0.3,0.8),leafNode) plt.show()
报错信息如下:
createPlot ------> createPlot()  Traceback (most recent call last): File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\interactiveshell.py", line 2898, in run_code self.showtraceback() File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\interactiveshell.py", line 1824, in showtraceback value, tb, tb_offset=tb_offset) File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\ultratb.py", line 1406, in structured_traceback self, etype, value, tb, tb_offset, number_of_lines_of_context) File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\ultratb.py", line 1323, in structured_traceback self, etype, value, elist, tb_offset, number_of_lines_of_context File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\ultratb.py", line 644, in structured_traceback out_list.extend(self._format_list(elist)) File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\ultratb.py", line 682, in _format_list item += ' %s\n' % line.strip() UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 10: ordinal not in range(128)
希望有人能够帮我解答一下这个问题。谢谢
如果用python3,这个世界就清净许多。
你的item不是字节码,是Unicode.
我以前也遇到过,网上的方法均不能解决,最后:
来源:https://my.oschina.net/u/1180...
不知道能解决你的问题吗?
plotNode(u'叶节点',(0.5,0.1),(0.1,0.5),decisionNode), 加个u试试