小编mur*_*rph的帖子

Python:获取与等高线对应的数组值

有没有办法从数组中提取数据,该数组对应于python中的等高线图的一条线?即我有以下代码:

n = 100
x, y = np.mgrid[0:1:n*1j, 0:1:n*1j]

plt.contour(x,y,values)
Run Code Online (Sandbox Code Playgroud)

其中值是带有数据的二维数组(我将数据存储在文件中,但似乎无法在此处上传)。下图显示了相应的等值线图。我的问题是,是否可以从值中准确获取数据,例如对应于图中的左侧轮廓线?

在此输入图像描述

python arrays matplotlib contour

4
推荐指数
1
解决办法
7848
查看次数

如何在python(sklearn)中进行2d内核密度估计?

我很抱歉这个可能很愚蠢的问题,但我现在正试着用几个小时来估算一组2d数据的密度.我们假设我的数据由数组给出:sample = np.random.uniform(0,1,size=(50,2)).我只是想使用scipys scikit learn package来估算样本数组的密度(这当然是2d均匀密度),我正在尝试以下方法:

import numpy as np
from sklearn.neighbors.kde import KernelDensity
from matplotlib import pyplot as plt
sp = 0.01

samples = np.random.uniform(0,1,size=(50,2))  # random samples
x = y = np.linspace(0,1,100)
X,Y = np.meshgrid(x,y)     # creating grid of data , to evaluate estimated density on

kde = KernelDensity(kernel='gaussian', bandwidth=0.2).fit(samples) # creating density from samples

kde.score_samples(X,Y) # I want to evaluate the estimated density on the X,Y grid
Run Code Online (Sandbox Code Playgroud)

但最后一步总是产生错误: score_samples() takes 2 positional arguments but 3 …

python kernel-density scikit-learn

2
推荐指数
1
解决办法
6093
查看次数