我试着用NumpyMatplotlib作为问题的一部分来重现下面的情节,但我很难弄清楚情节的"随机方面":

this plot

我已经成功地创建了这两个圆,并用以下代码绘制它们:

import numpy as np
import matplotlib.pyplot as plt

r = [5, 10]
angle = np.linspace(0, 2 * np.pi, 100)

X = [r[0] * np.cos(angle), r[1] * np.cos(angle)]
Y = [r[0] * np.sin(angle), r[1] * np.sin(angle)]

plt.axis('equal');
plt.scatter(X[0], Y[0], c='purple');
plt.scatter(X[1], Y[1], c='yellow');

但我不知道如何让他们得到这个random的散布,就像在示例图像中一样.我知道我需要使用Numpy的随机数生成,但我不知道如何或在哪里确切地使用它.

推荐答案

你可能需要超过100分,所以比方说

t = np.linspace(0, 2 * np.pi, 1000, endpoint=False)

对于如何构建圆,您有正确的 idea ,因此 for each 点添加一个随机半径:

r = np.random.uniform([[4], [9]], [[6], [11]], size=(2, 1000))

这不一定是最好的方法,因为点将偏向中心,但它足以说明 idea .

plt.scatter(r[0] * np.cos(t), r[0] * np.sin(t))
plt.scatter(r[1] * np.cos(t), r[1] * np.sin(t))

在第二次判断图像时,您可能希望将np.random.uniform替换为标准偏差为1的np.random.normal.

Python相关问答推荐

将特定列信息移动到当前行下的新行

沿着数组中的轴计算真实条目

. str.替换pandas.series的方法未按预期工作

2D空间中的反旋算法

如何让程序打印新段落上的每一行?

根据二元组列表在pandas中创建新列

如何在Python数据框架中加速序列的符号化

如何获得每个组的时间戳差异?

从一个系列创建一个Dataframe,特别是如何重命名其中的列(例如:使用NAs/NaN)

pandas:排序多级列

如何在PySide/Qt QColumbnView中删除列

Pandas:计算中间时间条目的总时间增量

为什么常规操作不以其就地对应操作为基础?

PYTHON、VLC、RTSP.屏幕截图不起作用

在Google Drive中获取特定文件夹内的FolderID和文件夹名称

如何在Python请求中组合多个适配器?

Beautifulsoup:遍历一个列表,从a到z,并解析数据,以便将其存储在pdf中.

如何在Gekko中处理跨矢量优化

在round函数中使用列值

有没有一种方法可以在朗肯代理中集成向量嵌入