Python 几何中间带等高线图
我目前有以下代码来生成一些点的几何中值的绘图:Python 几何中间带等高线图,python,Python,我目前有以下代码来生成一些点的几何中值的绘图: import numpy as np from scipy.optimize import minimize from scipy.spatial.distance import cdist import matplotlib.pyplot as plt def geometric_median(points): """ Geometric median as a convex optimizatio
import numpy as np
from scipy.optimize import minimize
from scipy.spatial.distance import cdist
import matplotlib.pyplot as plt
def geometric_median(points):
"""
Geometric median as a convex optimization problem.
"""
def aggregate_distance(x):
return cdist([x], points).sum()
centroid = points.mean(axis=0)
optimize_result = minimize(aggregate_distance, centroid, method='COBYLA')
return optimize_result.x
def plot_median(points):
points = np.array(list(points))
x, y = zip(*points)
median = geometric_median(points)
for i in range(len(points)):
plt.plot([median[0],x[i]],[median[1],y[i]], 'o', mfc='red', mec='red', ls=':', c='k')
plt.plot(median[0], median[1], 'ob', markersize=10)
plt.show()
我想做的是在一个等高线上画出我的图,其中z值是从(x,y)到所有其他点的距离的总和,所以几何中值将在中间的最小值-如下图所示,我目前只能创建最上面的图片。
我没有问题找到每个点的距离总和,我只是不知道如何将其绘制成等高线图。
任何帮助或指点都将不胜感激。