使用matplotlib生成轮廓图

时间:2019-08-05 10:02:51

标签: python matplotlib

我有三个要用于绘制轮廓图的列表。它们的长度均为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都有一个高/密集轮廓。我已经读过关于插值的内容,但不确定如何实现。由此,我想设置一个阈值,其中仅显示高于某个阈值的点。

0 个答案:

没有答案