美文网首页
Python | 樱花图绘制教程

Python | 樱花图绘制教程

作者: 小杜的生信筆記 | 来源:发表于2022-01-14 23:05 被阅读0次
    樱花图

    本教程代码来源GitHubniubiqigai大神代码,网页链接:https://github.com/niubiqigai


    前言:

    我的教程,主要还是以视频为主,代码教程还是比较少的。为什么呢?首先,录制视频是以自己的对代码的理解程度来讲解,自己对其更加深一些;其次,是想通过视频的方式保存自己的学习过程;最后,分享视频是想让我们初学者自己动手敲一遍代码。

    注:我的教程只适用于我们的初学者,大神可以绕开,确实会浪费大神的时间噶!

    对于初学者,为什么是只对于初学者呢?

    因为,你是刚开始学习,那你刚开始学习是不是需要多理解这个代码的意思呢?我自己也是一个初学者,也经历过自己找代码,理解这个语句是什么意思的过程,非常的痛苦,非常希望别人直接给我代码运行出结果就好。但是,一旦后续想要重新对其参数等设置都需要再一次的详细进行查找相应的教程等。非常的没有效率,以及自己对这个数据的理解程度也是在其表层,对自己后续的学习帮助很小。

    因此,我的教程都基本是以视频的形式。对此,每个人都有自己的理解吧,不做过多的解释说明。“理解的无需过多解释,不理解说太多也是无用!”

    我们教程的代码,你们想要获得的也都可以在公众号进行获取,我也会愿意分享。但是,在此前还是希望你自己动手敲一遍、两遍、三遍........,在教程中会部分内容被忽略,你重复不出来你可以联系我们。我看到这样的情况也是非常愿意帮忙解决的,在前面教程:差异分析--edgeR包开始该教程出现部分代码不全,因此重复不出来结果,对于有一定基础的同学来说是非常容易解决的问题,问题很明显。但是对于小白来说,真是不会看代码,结果重复不出来,又来咨询。我觉得这是挺好的一种现象哦!证明你自己重复过代码,但不足的地方就是还是粘贴复制我的码,希望我们以后都可以自己敲一遍两遍三遍哦........,加油!!

    还有部分同学,我不知道是不是你哦!反正我开始是这样的!作为一个伸手党,看到一些比较好的教程,就直接和博主申请要原始代码。这个初衷也许是对的,但这样一弄,后续的我们就拥有上述我所说的几种现象,百害无力哦!

    个人观点,如果教程中没有很详细的说明数据格式和类型,我们可以咨询博主或请求博主给予你相关的数据,自己根据教程自己来重现--(重点推荐)。

    最后,比较恶劣的人,感觉你是理所当然的给予他数据和代码,我希望能看到这篇文章的同学,都没有这样的心理。看到这样的信息,真的非常的难受。有时候真是感觉,这样的人看到自己的教程就是对教程的一种WR。我暂时还没遇到这样的人,也希望作为小白的我们谦虚一点向大神请教哦!!


    绘图展示效果:如下
    01.知乎
    02.公众号


    源代码:

    import turtle
    import random
    from turtle import *
    from time import sleep
    
    t = turtle.Turtle()
    w = turtle.Screen()
    
    
    def tree(branchLen, t):
        if branchLen > 3:
            if 8 <= branchLen <= 12:
                if random.randint(0, 2) == 0:
                    t.color('snow')
                else:
                    t.color('lightcoral')
                t.pensize(branchLen / 3)
            elif branchLen < 8:
                if random.randint(0, 1) == 0:
                    t.color('snow')
                else:
                    t.color('lightcoral')
                t.pensize(branchLen / 2)
            else:
                t.color('sienna')
                t.pensize(branchLen / 10)
    
            t.forward(branchLen)
            a = 1.5 * random.random()
            t.right(20 * a)
            b = 1.5 * random.random()
            tree(branchLen - 10 * b, t)
            t.left(40 * a)
            tree(branchLen - 10 * b, t)
            t.right(20 * a)
            t.up()
            t.backward(branchLen)
            t.down()
    
    
    def petal(m, t):  # 树下花瓣
        for i in range(m):
            a = 200 - 400 * random.random()
            b = 10 - 20 * random.random()
            t.up()
            t.forward(b)
            t.left(90)
            t.forward(a)
            t.down()
            t.color("lightcoral")
            t.circle(1)
            t.up()
            t.backward(a)
            t.right(90)
            t.backward(b)
    
    
    def main():
        t = turtle.Turtle()
        myWin = turtle.Screen()
        # getscreen().tracer(5, 0)
        turtle.screensize(bg='wheat')
        t.left(90)
        t.up()
        t.backward(150)
        t.down()
        t.color('sienna')
        tree(60, t)
        petal(100, t)
    
        myWin.exitonclick()
    
    
    main()
    

    直接运行即可实现自动绘制樱花树,看你如何解读这个代码呢?
    代码虽好,但是,我们只知道运行得到图,那就真是个代码“搬运工”,我们可以做代码搬运工,但不能做“代码搬运工”。you know ? you get ?


    “小杜的生信筆記” 公众号知乎简书平台,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!

    相关文章

      网友评论

          本文标题:Python | 樱花图绘制教程

          本文链接:https://www.haomeiwen.com/subject/qirzcrtx.html