我有一个问题,弄清楚如何保持在同一个情节窗口绘图(我希望我的情节后,一个情节是在同一窗口完成,即我不想关闭窗口,以获得其他情节)。我可以使用图窗口底部的箭头切换到下一个图吗?下面是我的代码:
for iteration in range(0, max_iters):
idx = findClosestCentroids(X, centroids)
centroids = computeCentroids(X, idx, K)
if plot is True:
data = c_[X, idx]
for i in range(1, K + 1):
data_1 = data[data[:, n] == i]
pyplot.plot(data_1[:, 0], data_1[:, 1], linestyle=' ', color=dict[i - 1], marker='o', markersize=3)
pyplot.plot(centroids[:, 0], centroids[:, 1], 'k*', markersize=15)
pyplot.show(block=True)
pyplot.hold(True)
,data为mXn+1矩阵,第n列取值范围为1 ~ K;质心是一个k X n矩阵和 idx 是一个m X 1矩阵
永远不要使用pyplot来绘制任何东西。它唯一真正好用的是创建图形、轴和一些艺术家。
不运行你的例子,我做:
for iteration in range(0, max_iters):
fig, ax = plt.subplots()
idx = findClosestCentroids(X, centroids)
centroids = computeCentroids(X, idx, K)
if plot is True:
data = c_[X, idx]
for i in range(1, K + 1):
data_1 = data[data[:, n] == i]
ax.plot(data_1[:, 0], data_1[:, 1], linestyle=' ', color=dict[i - 1], marker='o', markersize=3)
ax.plot(centroids[:, 0], centroids[:, 1], 'k*', markersize=15)
fig.show()