簡體   English   中英

使用Python烏龜圖形繪制基於2的日志圖

[英]Draw log base 2 graph using Python turtle graphics

我嘗試了這個:

if wave_type == "log":
  emily.up ()
  emily.goto(0,1)
  emily.down ()
  for x in range(100):
    y = math.log( x ) / math.log( 2 )
    elaine.goto(x, y)

但這沒用。 請幫忙

這是一個粗略的開始-由於range()無法處理浮點數,因此我們使用10倍的范圍,然后在使用該值時除以10。 (。看看arange()numpy的是解決的辦法。)我也是一個繪圖較小的區域,並使用setworldcoordinates()來強制執行,所以我們可以看到圖中的有趣的部分地方穿過X軸:

import math
from turtle import Turtle, Screen

screen = Screen()
screen.setworldcoordinates(0, -5, 10, 5)

emily = Turtle(visible=False)
emily.forward(10)
emily.penup()

for x in range(1, 100):
    y = math.log(x / 10) / math.log(2)
    emily.goto(x / 10, y)
    emily.pendown()

screen.exitonclick()

您可以根據需要填寫Y軸,添加刻度線,標簽軸,提高分辨率等:

在此處輸入圖片說明

Log(0)未定義。 因此,您的代碼將在for循環的第一次迭代中出錯(x將為0)。

也許您想要range(1,100)? 甚至更好的是,在x處有更多的x值,因為這是圖形變化最大的位置,從而可以使圖形更平滑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM