用python + matplotlib,随机生成100个点,分布于 -2≤x≤2,-2≤y≤2 的二维矩形区域内,将单位元内样本设置成+1正例样本,其他设置成负例-1样本,再画一个单位圆,用plot绘制出来,正例用蓝色小圆圈或原点,负例用红色x。
时间: 2024-05-11 17:13:40 浏览: 15
以下是代码实现:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成100个随机点
np.random.seed(0)
X = np.random.uniform(-2, 2, (100, 2))
# 将单位元内样本设置成正例,其他设置成负例
Y = np.zeros(100)
for i in range(100):
if X[i][0]**2 + X[i][1]**2 <= 1:
Y[i] = 1
else:
Y[i] = -1
# 画出单位圆
theta = np.linspace(0, 2*np.pi, 100)
x = np.cos(theta)
y = np.sin(theta)
plt.plot(x, y, 'k-')
# 根据正负例画出散点图
for i in range(100):
if Y[i] == 1:
plt.plot(X[i][0], X[i][1], 'bo')
else:
plt.plot(X[i][0], X[i][1], 'rx')
plt.xlim(-2, 2)
plt.ylim(-2, 2)
plt.show()
```
运行结果如下图所示:
![image.png](attachment:image.png)
相关问题
用python + matplotlib,随机生成100个点,分布于 -2≤x≤2,-2≤y≤2 的二维矩形区域内,将单位元内样本设置成+1正例样本,其他设置成负例-1样本,并画出分割超平线用plot绘制出来,正例用蓝色小圆圈或原点,负例用红色x。
以下是实现代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 随机生成100个点
np.random.seed(123)
X = np.random.uniform(-2, 2, size=(100, 2))
# 将单位元内样本设置成 1正例样本,其他设置成负例-1样本
y = np.ones(len(X))
y[(X[:, 0] <= 1) & (X[:, 0] >= -1) & (X[:, 1] <= 1) & (X[:, 1] >= -1)] = -1
# 绘制散点图
plt.scatter(X[y == 1, 0], X[y == 1, 1], color='blue', marker='o')
plt.scatter(X[y == -1, 0], X[y == -1, 1], color='red', marker='x')
# 画出分割超平线
x_axis = np.linspace(-2, 2, 100)
y_axis = -(x_axis * 0.5)
plt.plot(x_axis, y_axis, color='green')
# 显示图形
plt.show()
```
运行结果如下所示:
![image.png](attachment:image.png)
python绘制矩形圆拼接的二维图像
您可以使用Python中的matplotlib库来绘制矩形圆拼接的二维图像。以下是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
import matplotlib.patches as patches
# 创建一个新的图像
fig, ax = plt.subplots()
# 绘制矩形
rect = patches.Rectangle((0, 0), 2, 1, linewidth=1, edgecolor='r', facecolor='none')
ax.add_patch(rect)
# 绘制圆形
circle = patches.Circle((1, 0.5), 0.5, linewidth=1, edgecolor='b', facecolor='none')
ax.add_patch(circle)
# 设置坐标轴范围
ax.set_xlim(0, 2)
ax.set_ylim(0, 1)
# 显示图像
plt.show()
```
在上述代码中,我们首先导入了matplotlib库及其patches模块,然后创建了一个新的图像对象。接下来,使用patches模块中的Rectangle和Circle函数分别创建矩形和圆形对象,并通过add_patch方法将它们添加到图像中。最后,设置了坐标轴的范围,并使用plt.show()显示图像。
您可以根据自己的需求调整矩形和圆形的位置、大小、边框颜色和填充颜色等参数,以实现您想要的效果。