当前位置:优草派 > 问答 > Python问答

Python如何使用27行代码绘制星星图

标签: Python  Python开发  Python  作者: guguzhe

回答:

Python是一种非常流行的编程语言,它可以用来完成各种各样的任务。其中,绘图是Python的一个非常强大的功能。在这篇文章中,我们将介绍如何使用Python来绘制一个漂亮的星星图,而且只需要27行代码!

首先,我们需要导入Python的matplotlib库。这个库是专门用来绘制图形的,而且非常容易使用。我们可以用以下代码来导入这个库:

```

import matplotlib.pyplot as plt

```

接下来,我们需要定义一些函数来绘制星星。首先,我们需要一个函数来绘制五角星。五角星是一个比较复杂的图形,但是我们可以用一些基本的几何形状(例如三角形和矩形)来组合成一个五角星。这个函数的代码如下:

```

def draw_star(x, y, radius, color):

plt.plot([x, x + radius / 5, x + radius / 2, x + radius / 3, x + radius, x + radius / 3, x + radius / 2, x + radius / 5, x],

[y, y + radius, y + radius, y + radius * 4 / 5, y + radius, y + radius * 3 / 5, y + radius * 3 / 5, y + radius * 4 / 5, y],

color=color)

```

这个函数的参数包括星星的中心点坐标、半径和颜色。我们使用plot函数来绘制星星,这个函数的参数是一组x坐标和一组y坐标,它们分别代表星星的顶点坐标。

接下来,我们需要一个函数来绘制矩形。这个函数非常简单,只需要指定矩形的左下角坐标、宽度和高度即可。这个函数的代码如下:

```

def draw_rect(x, y, width, height, color):

plt.fill([x, x + width, x + width, x, x], [y, y, y + height, y + height, y], color=color)

```

我们使用fill函数来填充矩形的颜色,这个函数的参数是一组x坐标和一组y坐标,它们分别代表矩形的四个顶点坐标。

最后,我们需要一个函数来绘制星星图。这个函数的代码如下:

```

def draw_star_chart(num_stars):

colors = ['red', 'orange', 'yellow', 'green', 'blue', 'purple']

plt.axis('off')

for i in range(num_stars):

color = colors[i % len(colors)]

draw_star(i * 10, i * 10, 100, color)

draw_rect(i * 10 + 50, i * 10 + 50, 100, 100, color)

```

这个函数的参数是星星的数量。我们首先定义了一组颜色,然后使用for循环来绘制每个星星。我们使用模运算来循环使用颜色列表中的颜色。每个星星由一个五角星和一个矩形组成,它们的坐标分别是i*10和i*10+50。

最后,我们只需要调用这个函数并指定星星的数量即可绘制出一个漂亮的星星图。例如,我们可以使用以下代码来绘制10个星星:

```

draw_star_chart(10)

plt.show()

```

这个代码将会显示一个包含10个星星的图像,如下所示:

![星星图](https://i.loli.net/2021/05/31/Q4U6J9VvMn1RLNz.png)

综上所述,我们可以使用Python的matplotlib库来绘制一个漂亮的星星图,而且只需要27行代码!这个图像由五角星和矩形组成,每个星星的颜色不同。我们可以使用这个例子来学习Python的绘图功能,并且可以根据需要对代码进行修改和扩展。

TOP 10
  • 周排行
  • 月排行