在 Matplotlib 中创建圆形箭头
Turtle 图形是一款不错且易于使用的工具,可让你掌握编码语法的窍门。我们可以使用这个模块创建小动画,在屏幕上移动对象并绘制形状。
在本教程中,我们将借助 Python Matplotlib 中的 turtle
库绘制一个圆形箭头。
在 Python Matplotlib 中使用 Turtle 模块创建圆形箭头
让我们通过创建一个新文件开始使用圆形箭头。然后我们将 turtle
模块导入我们的程序。
屏幕上会出现一只小 Turtle,它会在画布或窗口上绘制东西。因此,一旦你导入了 turtle
库,我们需要创建一个弹出窗口。
这是将显示我们的圆形箭头的窗口。我们创建一个 window
变量并初始化 turtle.Screen()
方法以访问我们屏幕上的新弹出窗口。
setup()
函数设置到我们的 600x500 屏幕。第一个参数是宽度,第二个参数是高度。
import turtle
window = turtle.Screen() # set the pop up window
window.setup(600, 500)
屏幕将是我们此刻绘制的画布。我们将使用 bgcolor()
方法在这个新窗口下放置颜色。
此方法接受你希望背景作为字符串的任何颜色。我们需要通过调用 color()
方法为圆形箭头选择颜色。
在我们的例子中,我们希望洋红色作为箭头的颜色。
turtle.bgcolor("Yellow") # Change the background color of the window
turtle.color("magenta", "yellow")
我们可以使用 pensize()
方法更改笔画或边框的大小。shape()
方法帮助我们设置 Turtle 的头部。
现在,我们将 "arrow"
作为字符串传递来创建一个圆形箭头。在创建圆形箭头之前,我们需要使用 begin_fill()
方法开始填充形状的颜色。
要绘制圆形箭头,我们使用 circle()
方法并将其作为整数值传递,即圆形箭头的半径。一旦我们绘制了我们想要的形状,我们将使用 end_fill()
方法来阻止填充颜色在任何地方使用。
当你单击页面上的任意位置时,exitonclick()
方法会退出窗口。
turtle.pensize(5) # change the stroke on the shape
turtle.shape("arrow")
# Draw the circle arrow and fill it with the color
turtle.begin_fill()
turtle.circle(80) # Radius of 80px
turtle.end_fill()
window.exitonclick()
完整代码示例:
import turtle
window = turtle.Screen() # set the pop up window
window.setup(600, 500)
turtle.bgcolor("Yellow") # Change the background color of the window
turtle.color("magenta", "yellow")
turtle.pensize(5) # change the stroke on the shape
turtle.shape("arrow")
# Draw the circle arrow and fill it with the color
turtle.begin_fill()
turtle.circle(80) # Radius of 80px
turtle.end_fill()
window.exitonclick() # When the page is clicked,the app closes
输出:
点击这里阅读 turtle
库的详细文档。
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn