解决PyCharm用graphviz画决策树中文乱码问题

1.为什么会乱码?

在生成的dotdot文件的字体是fontname = helvetica ,该字体是西文字体,不支持中文。所以我们将dot中的字体替换即可

2.解决方法

graph = graphviz.Source(dot_data.replace('helvetica','"Microsoft YaHei"'), encoding='utf-8')

这样就可以替换字体了,注意’“Microsoft YaHei”'这里,是单引号里再加双引号

笔者在其他文章中还看有其他方法,比如修改Graphviz中.fonts配置文件,但是在最新的Graphviz版本中,我没有找到的这个文件,也试了很多方法,最后就这个成功了,也是最简单的
这篇文章里有其他方法的介绍

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: PyCharm可以使用Graphviz进行可视化。Graphviz是一种开源的图形可视化工具,可以将图形数据转换为图形表示。要使用Graphviz进行可视化,需要安装Graphviz软件和PyCharmGraphviz插件。安装完成后,可以使用PyCharmGraphviz插件来创建和编辑图形,并将其导出为各种格式。使用Graphviz进行可视化可以帮助用户更好地理解和分析数据,提高工作效率。 ### 回答2: Graphviz 是一种开源的图形可视化工具,它可以自动绘制图形,并且优化图形排版,使得用户可以更加直观地观察图形的结构和联系。PyCharm 作为一个强大的 Python 集成开发环境,也支持使用 Graphviz 进行图形可视化,这可以方便开发者在编写 Python 代码时,通过图形化的方式直观地观察程序的运行结果。 使用 Graphviz 进行可视化需要以下几个步骤: 1. 安装 Graphviz 和 pydotplus 模块,使用 pip 命令可以方便地进行安装,命令如下: ```python pip install graphviz pip install pydotplus ``` 2. 导入相应的库: ```python import pydotplus from IPython.display import Image from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier, export_graphviz ``` 3. 加载数据并训练模型,此处以决策树为例: ```python iris = load_iris() X = iris.data y = iris.target clf = DecisionTreeClassifier(max_depth=2) clf.fit(X, y) ``` 4. 将训练后的决策树进行可视化: ```python dot_data = export_graphviz(clf, out_file=None, feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True, special_characters=True) graph = pydotplus.graph_from_dot_data(dot_data) Image(graph.create_png()) ``` 以上就是使用 Graphviz 进行可视化的基本步骤。在 PyCharm 中,可以通过运行 Python 文件或者使用交互式环境进行可视化。如果在 PyCharm 中输出的图像无法正常显示,可以考虑使用 IPython 的中间件进行解决,只需要在代码中添加以下几行即可实现: ```python from IPython.display import Image from graphviz import Digraph def plot_tree(clf, feature_names, class_names): dot_data = export_graphviz(clf, out_file=None, feature_names=feature_names, class_names=class_names, filled=True, rounded=True, special_characters=True) graph = pydotplus.graph_from_dot_data(dot_data) image = Image(graph.create_png()) return image ``` 最后,还需要注意一点,在使用 Graphviz 进行可视化时,为了能够更好地观察图形,应该尽可能地使用有向无环图,这样可以避免出现过多的交叉连线,从而影响图形的可读性。 ### 回答3: PyCharm是一款功能强大的Python集成开发环境,它内置了许多实用的工具和插件,Graphviz就是其中之一,它通过可视化的方式来展示Python代码中的数据结构和算法,大大提高了开发效率和可读性。 Graphviz是一款开源的可视化工具,它支持多种图形绘制语言,其中比较常用的是DOT语言。在PyCharm集成Graphviz之后,开发者可以直接使用DOT语言描述图形,并通过工具自动生成图形展示。这种方式可以让开发者专注于代码本身,而不是一些繁琐的图形绘制工作。 在PyCharm中使用Graphviz非常简单,只需要在代码中引用graphviz库,然后使用graphviz库提供的API进行图形描述即可。在图形绘制完成后,开发者可以使用PyCharm内置的Graphviz插件进行图形展示和编辑,或者将图形导出为PNG、PDF等格式保存。 Graphviz可视化功能在Python开发中非常广泛地应用于数据科学、机器学习和深度学习等领域,可以帮助开发者更好地理解和调试代码,并优化算法性能和可读性。在PyCharm中使用Graphviz可视化功能,可以更方便地进行代码开发和调试,加快开发速度,提高代码质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值