我需要合并在两个不同(相邻)矩形处形成的网格网格。以下是矩形的图形表示:
我可以创建各个矩形的网格网格。例如,对于绿色矩形,使用以下代码片段,我们可以创建网格网格。
clickAddNewBtn() {
return element.all(by.css('nano-ml-5'));;
}

我也可以为蓝色矩形制作网格点。但是,我无法在单个对象中加入它们。我尝试将它们作为xvalues = np.array([0, 2, 4, 6, 8, 10])
yvalues = np.array([6, 8, 10, 12])
x, y = np.meshgrid(xvalues, yvalues)
positions = np.vstack([x.ravel(), y.ravel()])
theGridPoints = (np.array(positions)).T
和position1
的总和加入。我在控制台上得到值错误:
position2
我该如何解决?
谢谢。
答案 0 :(得分:2)
import numpy as np
import matplotlib.pyplot as plt
bx, by = np.mgrid[0:2, 0:5]
gx, gy = np.mgrid[0:10, 5:12]
bp = np.vstack((bx.ravel(), by.ravel()))
gp = np.vstack((gx.ravel(), gy.ravel()))
points = np.hstack((bp, gp)).T
# full grid
plt.scatter(points[:,0], points[:,1], c='orange', s=200)
# green rectangle
plt.scatter(gp.T[:,0], gp.T[:,1], c='green', s=50)
# blue rectangle
plt.scatter(bp.T[:,0], bp.T[:,1], c='blue', s=50)
plt.show()
答案 1 :(得分:1)
如果您想加入/合并多个np.ndarray
,则它们必须属于同一个shape
。因此,蓝色矩形的xvalues
的数量需要等于绿色矩形的xvalues
的数量。 yvalues
也是如此。
这是一个简短的例子:
xvalues_b = np.array([0, 1, 2, 3, 4, 5])
yvalues_b = np.array([0, 1*5/3, 2*5/3, 3*5/3])
x_b, y_b = np.meshgrid(xvalues_b, yvalues_b)
positions_b = np.vstack([x_b.ravel(), y_b.ravel()])
theGridPoints_b = (np.array(positions_b)).T
positions_gb = np.concatenate([positions, positions_b])