我正在尝试使用imshow
中的matplotlib.pyplot
函数绘制2D numpy数组(它是使用自组织映射的代码簿生成的U矩阵的绘图)。
该图由以下行生成:
matplotlib.pyplot.imshow(umat, cmap=plt.cm.get_cmap('RdYlBu_r'), alpha=1)
这里,umat是我想要绘制的2D numpy数组。这是生成的图:
它将每个节点(点)显示为不同的方块。
我想生成这样的东西
,
显示光滑的表面,但我无法找到方法。有人可以说明它是如何完成的吗?
答案 0 :(得分:2)
如果您想使用imshow,可以尝试不同的插值方法,请参阅https://matplotlib.org/examples/images_contours_and_fields/interpolation_methods.html
实施例:
ax.imshow(grid, interpolation=interp_method, cmap='viridis')
其中interp_method
是
methods = [None, 'none', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos']