Python 在matplotlib中的极轴投影上设置径向偏移

Python 在matplotlib中的极轴投影上设置径向偏移,python,numpy,matplotlib,Python,Numpy,Matplotlib,我有一些2D numpy数组中的模拟数据,大小类似(512768) 该数据从rmin=1到rmax=100进行模拟,而phi从0到2pi进行模拟 我试着在极坐标图上画这个,但是没有径向偏移,这看起来真的很奇怪。注意:图像来自径向密度分布,因此绘图应为径向对称 不带xlim/ylim集: fig = plt.figure() ax = fig.add_subplot(111, projection='polar') rho = // 2D numpy array ax.pcolormesh(r

我有一些2D numpy数组中的模拟数据,大小类似(512768)

该数据从rmin=1到rmax=100进行模拟,而phi从0到2pi进行模拟

我试着在极坐标图上画这个,但是没有径向偏移,这看起来真的很奇怪。注意:图像来自径向密度分布,因此绘图应为径向对称

不带xlim/ylim集:

fig = plt.figure()
ax = fig.add_subplot(111, projection='polar')

rho = // 2D numpy array

ax.pcolormesh(rho)
fig.show()
fig = plt.figure()
ax = fig.add_subplot(111, projection='polar')

rho = // 2D numpy array
print rho.shape

ax.axis([x_scale[0], x_scale[-1], y_scale[0], y_scale[-1]])

ax.pcolormesh(rho)
fig.show()

使用xlim/ylim设置:

fig = plt.figure()
ax = fig.add_subplot(111, projection='polar')

rho = // 2D numpy array

ax.pcolormesh(rho)
fig.show()
fig = plt.figure()
ax = fig.add_subplot(111, projection='polar')

rho = // 2D numpy array
print rho.shape

ax.axis([x_scale[0], x_scale[-1], y_scale[0], y_scale[-1]])

ax.pcolormesh(rho)
fig.show()

具有手动轴+X/Y值。

fig = plt.figure()
ax = fig.add_subplot(111, projection='polar')

rho = // 2D numpy array
print rho.shape

ax.axis([x_scale[0], x_scale[-1], 0, y_scale[-1]])
y_scale_with_offset = np.insert(y_scale, 0, 0)

ax.pcolormesh(x_scale, y_scale_with_offset, rho)

ax.pcolormesh(rho)


有什么技巧可以从1添加径向偏移吗?

我相信你可以使用
ax。设置_rmin()
极坐标图,负值会给你想要的效果

fig = plt.figure()
ax = fig.add_subplot(111, projection='polar')

c = np.ones((50,50)) + np.arange(50).reshape(50,1)

aP = ax.pcolormesh(c)
plt.colorbar(aP)
ax.set_rmin(-10.0)
plt.show()

它值得包括一个刻度,这样您就知道您的工作不仅仅是从绘图中删除数据(我假设这不是您想要的)

另一方面,如果您还没有找到[ipython笔记本],您可能已经能够找到问题的解决方案,因为您可以在键入
ax.
后按tab键,它将弹出一个您可以使用的所有对象的列表。由于matplotlib的标签很好,
set_rmin
是一个相当明显的选择