我正在尝试根据数据点的密度对数据进行聚类。
我想根据density.Like在这些区域周围绘制轮廓线,这样:
为了达到这一点,我正在尝试修改中的以下代码:
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde
# Generate fake data
x = np.random.normal(size=1000)
y = x * 3 + np.random.normal(size=1000)
# Calculate the point density
我不知道这是否可能,但我希望能够在给定的纬度和经度上绘制等高线。我有一个海洋模型,它给出了在x(经度)和y(纬度)位置的u和v方向的洋流。通过使用箭器函数(箭(x,y,u,v))和下面的代码,我设法绘制了狮子湾的海流图。
Step=8 %Only use 1 in 8 data point so the arrows don't overlap too much
figure
q=quiver(lonu(1:Step:681,1:Step:711),latu(1:Step:681,1:Step:711),U,V,0)
如您所见,模型在靠近海岸的地方更详细,因为它使用以下网格:
我在三维空间中有一个点云,并且估计了这些点上的一些分布(也是在3D空间;使用,尽管这与这个问题无关)。我想把这个分布的投影绘制成等高线图到所有三个轴上(x,y,z)。对于z轴(即投影到任意z坐标的平面上),这样做是很简单的:
import numpy as np
import scipy as sp
import scipy.stats
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
# generate some points of a 3D Gaussian
points = np.rando