我正在尝试创建一个2d高斯分布并在某种程度上旋转它。
import numpy as np
import matplotlib.pyplot as plt
x = np.random.normal(0, 15, 5000)
y = np.random.normal(0, 3, 5000)
X = np.array([x, y])
print X.shape
angle = 28
theta = np.pi * angle / 180
rotation = np.array([[np.cos(theta), -np.sin(theta)], [np.sin(theta), np.cos(theta)]])
X1 = np.dot(rotation, X)
print X1.shape
fig = plt.figure(figsize=(16, 8))
fig.add_subplot(2, 1, 1).scatter(x, y)
fig.add_subplot(2, 1, 2).scatter(X1[0], X1[:1])
plt.show()
我期望在这里看到的是高斯的第一个散点图,然后是第二个几乎相同的散点图,但旋转了28度。但相反,我看到了这一点: