我有以下代码可以生成一个表面图,但它并没有达到我的预期。
xx, yy = np.meshgrid(dealer_sums, player_sums)
def getter(dealer_sum, player_sum):
state = (dealer_sum, player_sum)
return self.get_value(state)
z = np.vectorize(getter)
zz = z(xx,yy)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_wireframe(xx,yy, zz)
FYI,xx、yy和zz的形状都是相等的且为2D。
从查看其他帖子(surface plots in matplotlib;Simplest way to plot 3d surface given 3d points)来看,一个常见的问题是x和y坐标不规则,但如果我理解正确的话,我认为通过调用np.meshgrid函数已经将它们规范化了?
我提供了下面的散点图,以显示没有曲面时数据的样子: https://istack.dev59.com/ukvgb.webp 这就是对plot_wireframe函数的调用: https://istack.dev59.com/8zAYW.webp 我画了一些我没想到的线。我的问题是,是否有可能摆脱这些线,并创建一个看起来像这样的曲面? https://istack.dev59.com/PBG7C.webp 感谢您的帮助。
编辑:这是XY网格的散点图,显示它是规则的: https://istack.dev59.com/XiqRD.webp