孤月寒_朗照之 2022-01-06 16:40 采纳率: 100%
浏览 621
已结题

python3.9中回归决策树输出图片中存在一个黑块

问题背景及情况

目前想要将一个回归决策树的python2代码升级到python3.9,python2中回归决策树输出图片正常
,如下图所示:

img

现在升级到python3.9后,代码可以正常运行,也可以输出决策树的图片,但图片上出现一个黑块

img

    fname = []
    #fname.append(TREE_all_var[k].encode('utf-8'))
    fname.append(TREE_all_var[k])
    #print(fname.encode("raw_unicode_escape").decode("utf-8"))
    dot_data1 = StringIO()
    tree.export_graphviz(dtr,out_file=dot_data1, feature_names=fname, class_names = TREE_data,filled=True, rounded=True,
                                special_characters=True)
    dot_data = dot_data1.getvalue()
    dot_data = dot_data.replace('helvetica','"Microsoft Yahei"')
    graph = pydotplus.graph_from_dot_data(dot_data)
    graph.write_png("%s%s_%i_%s"%(outpath,TREE_all_var[k],maxdepth,filename[7]))

我的解答思路和尝试过的方法

尝试通过调整export_graphviz的参数来解决,但此法不通。

我想要达到的结果

希望输出的图片中不存在黑块。

  • 写回答

3条回答 默认 最新

  • 刘储睿 2022-08-01 11:01
    关注

    请再添加一行。dot_data=dot_data.repalce('\n','') 将转义字符替换掉

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 1月6日