我的任务是将随机行走模拟从Matlab转换为Python,其中一个关键输出是行走细胞访问的组合轮廓图和梯度颤动图
我有一个45x175的矩形作为域,其中有两个矩形区域被切割出来,用来反映行走。生成的轮廓看起来像一个“T”在其侧面
我在Python代码中遇到的问题是:1)我只想在轮廓线内绘制梯度,而不是在轮廓线外绘制梯度;2)我希望箭头看起来与Matlab箭头一样接近(如果不是完全一样的话)
我使用了以下函数(从this post借用)来获得Python绘图:
field = np.array([ppx, ppy])
def plot_elines(x_grid, y_grid, potential, field):
fig, ax = plt.subplots(figsize=(50, 50))
im_cs = ax.contour(x_grid, y_grid, potential, 18, cmap='inferno')
plt.clabel(im_cs, inline=1, fontsize=7)
ax.quiver(x_grid, y_grid,
field[1, :], field[0, :])
ax.set_xlabel("$x$")
ax.set_ylabel("$y$")
ax.set_aspect("equal")
plt.show()
在Matlab中,我的代码是:
contour(potential)
hold on
quiver(ppx, ppy)
hold off
以下是结果(抱歉,没有足够的声誉发布图片):
我一直在做大量的测试和阅读文档,但我对Python还不熟悉,所以我真的不明白为什么这些结果如此不同。我对potential
、ppx
和ppy
使用了完全相同的数据。我会发布数据,但由于数组的大小,它会非常混乱。如果有更好的方法,请告诉我
如何使Python绘图看起来(通常,工作)与Matlab绘图一样
目前没有回答
相关问题 更多 >
编程相关推荐