首页 > 解决方案 > 当试图可视化由 numpy.meshgrid() 生成的“常规”网格点时,我看到了白色的垂直线。为什么会这样?

问题描述

当网格是统一的时,我相信人们一定看不到垂直线,我认为这些垂直线表示数据点中的“间隙”。以下代码复制了我的问题。情节显示在这里。

import numpy as np
x = np.arange(0,100,1)
y = np.arange(0,100,1)
xmesh,ymesh = np.meshgrid(x,y)
plt.scatter(xmesh,ymesh,s=0.5)
# or plt.plot(xmesh,ymesh,'k.',ms=1)

标签: pythonpython-3.xnumpymatplotlibscatter-plot

解决方案


您看到的是由于您的点和屏幕像素网格之间的空间频率不同而产生的莫尔图案。

要解决此问题,请增加图形/轴的大小,以便有足够的像素来显示数据中的所有点。

例如,参见这两个图之间的区别:

fig = plt.figure(figsize=(3,3))
plt.scatter(xmesh,ymesh,s=0.5)

在此处输入图像描述

fig = plt.figure(figsize=(6,6))
plt.scatter(xmesh,ymesh,s=0.5)

在此处输入图像描述


推荐阅读