我在弄清楚如何在同一个绘图窗口中进行绘图时遇到了问题(我希望我的绘图在单个绘图之后在同一个窗口中完成,即我不想关闭窗口以获得到其他情节)。我可以使用绘图窗口底部的箭头切换到下一个图吗? 这是我的代码:
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)
下面, 数据是m X n + 1矩阵,第n列的值介于1到K之间, 质心是k X n矩阵, idx 是m X 1矩阵
答案 0 :(得分: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()