【问题标题】:Turtle graphics plotting海龟图形绘制
【发布时间】:2014-12-01 18:42:59
【问题描述】:

当我绘制数据列表时(freqList):

[0.09090909090909091, 0.0, 0.0, 0.09090909090909091, 0.18181818181818182, 0.0, 0.0, 0.0, 0.045454545454545456, 0.0, 0.0, 0.0, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.18181818181818182, 0.045454545454545456, 0.09090909090909091, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.0, 0.0]

当我尝试用颜色填充条时,只有一半的条被填充,类似于直角三角形。此外,我不知道如何标记 x 和 y 轴以使 x 轴上的字母 a-z 代表每个小数。 y 轴上从 0.0 - max(freqList) 开始的频率基于每个十进制数递增。我知道我必须使用 t.write(),但我不知道在哪里放置它

def letterFreqPlot(freqList):

    border = 5
    t = turtle.Turtle()
    t.pensize(3)
    screen = t.getscreen()
    maxheight = max(freqList)
    numbers = len(freqList)
    screen.setworldcoordinates(0-border,-.05,numbers+1,maxheight)
    t.goto(0,0)
    t.speed(0)
    t.lt(90)
    t.fd(maxheight)
    t.fd(-maxheight)
    t.right(90)
    for item in freqList:
        t.fillcolor("blue")        
        for dist in [1, item, 1, item]:
            t.begin_fill()            
            t.fd(dist)
            t.lt(90)
        t.fd(1)
        t.end_fill()

【问题讨论】:

    标签: python-3.x turtle-graphics


    【解决方案1】:

    看起来您要为每个end_fill 呼叫进行四次begin_fill 呼叫。尝试将 begin 调用移到循环之外。

    for item in freqList:
        t.fillcolor("blue")        
        t.begin_fill()            
        for dist in [1, item, 1, item]:
            t.fd(dist)
            t.lt(90)
        t.fd(1)
        t.end_fill()
    

    【讨论】:

      猜你喜欢
      • 2016-01-05
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 2018-05-30
      相关资源
      最近更新 更多