在 Matplotlib 中创建圆形箭头

Salman Mehmood 2024年2月15日
在 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

输出:

在 matplotlib 中使用 turtle 模块创建圆形箭头

点击这里阅读 turtle 库的详细文档。

作者: Salman Mehmood
Salman Mehmood avatar Salman Mehmood avatar

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

相关文章 - Matplotlib Shape