zoukankan      html  css  js  c++  java
  • pydotplus使用

      pydotplus是别的语言嫁接到python里面的,所以绘制要传入字符串形式表示的结构,而没有python的结构对象直接用来画。代码如下:

    import pydotplus as pdp
    graph = pdp.graph_from_dot_data('digraph demo1{ a -> b -> c; c ->a d->h;d[label="demo"]}')
    graph.write_pdf("demo.pdf") 

      输出:

      字符串的形式有点像C中的结构体,但是可以不写分号,用空格代替也可将语句分开。

      具体样式设置见:

      pydotplus安装和基本入门 - DataScience

      另外,因为上面网站没有提,所以记录一下。在“结构体”中,可以设置点与边的样式和字体,并且可以给边添加label:

     1 import pydotplus as pdp
     2 map_str = """
     3     digraph demo{
     4         node [shape=box, style="rounded", color="black", fontname="Microsoft YaHei"]; 
     5         edge [fontname="Microsoft YaHei"]; 
     6         a -> b[label="颀周"]
     7         a[label="你好!"]
     8         b[label="吃了吗?"] 
     9         }
    10     """
    11 graph = pdp.graph_from_dot_data(map_str)
    12 graph.write_pdf("demo.pdf")

      显示如下:

      重要的是,node和edge中的fontname不设置成中文字体,如上面的Microsoft YaHei,中文就会显示乱码。如果设置成中文字体依然乱码,看下面:

      解决Graphviz无法显示决策树中文问题_开发工具_fzl的博客-CSDN博客

  • 相关阅读:
    Vue 项目目录结构分析
    Vue 项目环境搭建
    Vue 组件
    Vue 指令
    Vue 实例成员
    Django 静态文件
    MySQL 索引详解
    Django 请求生命周期
    18. 4Sum (JAVA)
    16. 3Sum Closest (JAVA)
  • 原文地址:https://www.cnblogs.com/qizhou/p/12743708.html
Copyright © 2011-2022 走看看