Python 使用matplotlib在现有打印上打印质心值
如何在绘图上绘制下面计算的质心值Python 使用matplotlib在现有打印上打印质心值,python,numpy,matplotlib,plot,scipy,Python,Numpy,Matplotlib,Plot,Scipy,如何在绘图上绘制下面计算的质心值 import numpy as np, matplotlib.pyplot as plt from scipy.cluster.vq import kmeans, vq data = np.array(np.random.rand(100)) plt.plot(data, 'ob') centroids, variances= kmeans(data,3,10) indices, distances= vq(data,centroids) print
import numpy as np, matplotlib.pyplot as plt
from scipy.cluster.vq import kmeans, vq
data = np.array(np.random.rand(100))
plt.plot(data, 'ob')
centroids, variances= kmeans(data,3,10)
indices, distances= vq(data,centroids)
print (centroids)
[ 0.82847854 0.49085422 0.18256191]
plt.show()
可以使用表示质心的水平线进行打印:
plt.plot([0, len(data)], [centroids[0]]*2, lw=1.)
plt.plot([0, len(data)], [centroids[1]]*2, lw=1.)
plt.plot([0, len(data)], [centroids[2]]*2, lw=1.)
编辑:或按照@nordev的建议:
plt.hlines(centroids, xmin=0, xmax=len(data), lw=1.)
您可以使用表示质心的水平线进行打印:
plt.plot([0, len(data)], [centroids[0]]*2, lw=1.)
plt.plot([0, len(data)], [centroids[1]]*2, lw=1.)
plt.plot([0, len(data)], [centroids[2]]*2, lw=1.)
编辑:或按照@nordev的建议:
plt.hlines(centroids, xmin=0, xmax=len(data), lw=1.)
您也可以使用更直观的。您也可以使用更直观的。