如何用Python画出树型图
原始数据用“,”区分给出了每一“树枝”向上生长的“新树枝”数量,用“;”区分每一层的树枝。比如,依据数据(2;2,3;2,0,1,0,2;1,0,2,0,0;2,1,1;0,0,0,0)做出来的图形如下:(实际图形越底层的“树枝”根据上层树枝的数量应该更粗!)
■ ■ ■ ■
■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■■
■ ■
■
求教:Python的程序结构和实现画图的模块。
在线等,谢谢! 看看这个代码是不是你想要的结果
from turtle import *
# 设置色彩模式是RGB:
colormode(255)
lt(90)
lv = 14
l = 120
s = 45
width(lv)
# 初始化RGB颜色:
r = 0
g = 0
b = 0
pencolor(r, g, b)
penup()
bk(l)
pendown()
fd(l)
def draw_tree(l, level):
global r, g, b
# save the current pen width
w = width()
# narrow the pen width
width(w * 3.0 / 4.0)
# set color:
r = r + 1
g = g + 2
b = b + 3
pencolor(r % 200, g % 200, b % 200)
l = 3.0 / 4.0 * l
lt(s)
fd(l)
if level < lv:
draw_tree(l, level + 1)
bk(l)
rt(2 * s)
fd(l)
if level < lv:
draw_tree(l, level + 1)
bk(l)
lt(s)
# restore the previous pen width
width(w)
speed("fastest")
draw_tree(l, 4)
done()
差不多先生air 发表于 2020-9-11 19:20
看看这个代码是不是你想要的结果
谢谢!我用openpyxl在excel里面很复杂的实现了。我再思考一下看看有没有更简单的做法。
再次感谢!
页:
[1]