我有三个要用于绘制轮廓图的列表。它们的长度均为8000。x轴代表主成分1,y轴代表主成分2,z轴是我试图弄清楚如何生成的东西。
对于每个x和y,我在第三个列表中都有一个%值,即100%等于更密集的轮廓,而0%则没有轮廓,但目前仅是一个列表,不确定如何将其转换为2D阵列。
到目前为止,我所做的是:
import numpy as np
import matplotlib.pyplot as plt
def f(x):
return (x[:,0]**2 + x[:,1]**2)
x = list(finalDf['pc1'])
y = list(finalDf['pc2'])
xx, yy = np.meshgrid(x, y)
X_grid = np.c_[ np.ravel(xx), np.ravel(yy) ]
z = f(X_grid)
z = z.reshape(xx.shape)
plt.contour(xx, yy, z)
但是我的第三个列表中的z值甚至都没有包括在内,因此不确定在哪里包括它们,以便每个x,y都有一个高/密集轮廓。我已经读过关于插值的内容,但不确定如何实现。由此,我想设置一个阈值,其中仅显示高于某个阈值的点。