淘先锋技术网

首页 1 2 3 4 5 6 7

我一直在寻找一种方法来可靠地将刻度和轴标签定位在极坐标图中.请看下面的例子:

import numpy as np

import matplotlib.pyplot as plt

fig = plt.figure(figsize=[10,5])

ax0 = fig.add_axes([0.05,0.05,0.4,0.9],projection="polar")

ax1 = fig.add_axes([0.55,projection="polar")

r0 = np.linspace(10,12,10)

theta0 = np.linspace(0,0.1,10)

ax0.quiver(theta0,r0,-0.1,0.1)

ax1.quiver(theta0 + np.pi,0.1)

ax0.set_thetamin(-2)

ax0.set_thetamax(10)

ax1.set_thetamin(178)

ax1.set_thetamax(190)

for ax in [ax0,ax1]:

# Labels

ax.set_xlabel("r")

ax.set_ylabel(r"$\theta$",labelpad=10)

# R range

ax.set_rorigin(0)

ax.set_rmin(9)

ax.set_rmax(13)

plt.show()

结果如下图:

9f354ebce030d4f0a0f437499cfca9d3.png

您可以清楚地看到

(a)在曲线之间,tick轴上的刻度标签位置从下到上切换,而theta的刻度标签从右到左切换.

(b)轴标签位置固定.我希望轴标签也与刻度标签一起移动.即,在左侧图中,“ theta”应位于右侧,而在右侧图中,“ r”应位于顶部.

如何以某种方式控制轴/刻度线标签,以便正确放置它们?例如,这甚至变得更糟.偏移90度,因为theta轴实际上是垂直的,并且刻度线标签完全消失了.