繁体   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