如何在 matplot 中的每个极轴中添加 xvline
how to add a xvline in every polar axis in matplot
我正在尝试添加一条线来标记极坐标图中每个变量的分位数。
当我尝试 axvline
它只绘制在第一个轴
axes1 = plt.gca(projection='polar')
axes1.axvline(x=0, ymin=0.2,ymax=0.6, color='k',lw=3,alpha=0.5)
我想为每个轴添加不同的标记,但我不知道如何遍历示例的 5 个轴。
您可以将圆 (2 π) 分为 5,以获得 5 个方向中每个方向的 x 坐标。
import matplotlib.pyplot as plt
import numpy as np
axes1 = plt.gca(projection='polar')
xs = np.linspace(0, 2 * np.pi, 5, endpoint=False) + np.pi / 2
for x in xs:
axes1.axvline(x=x, ymin=0.2, ymax=0.6, color='r', lw=3, alpha=0.5)
for ls in [':', '-']:
y = np.random.uniform(0.3, 1, 5)
plt.plot(np.concatenate([xs, xs[:1]]), np.concatenate([y, y[:1]]), color='g', ls=ls)
plt.fill_between(np.concatenate([xs, xs[:1]]), np.concatenate([y, y[:1]]), color='g', alpha=0.2)
plt.xticks(xs % (2 * np.pi))
plt.show()
我正在尝试添加一条线来标记极坐标图中每个变量的分位数。
当我尝试 axvline
它只绘制在第一个轴
axes1 = plt.gca(projection='polar')
axes1.axvline(x=0, ymin=0.2,ymax=0.6, color='k',lw=3,alpha=0.5)
我想为每个轴添加不同的标记,但我不知道如何遍历示例的 5 个轴。
您可以将圆 (2 π) 分为 5,以获得 5 个方向中每个方向的 x 坐标。
import matplotlib.pyplot as plt
import numpy as np
axes1 = plt.gca(projection='polar')
xs = np.linspace(0, 2 * np.pi, 5, endpoint=False) + np.pi / 2
for x in xs:
axes1.axvline(x=x, ymin=0.2, ymax=0.6, color='r', lw=3, alpha=0.5)
for ls in [':', '-']:
y = np.random.uniform(0.3, 1, 5)
plt.plot(np.concatenate([xs, xs[:1]]), np.concatenate([y, y[:1]]), color='g', ls=ls)
plt.fill_between(np.concatenate([xs, xs[:1]]), np.concatenate([y, y[:1]]), color='g', alpha=0.2)
plt.xticks(xs % (2 * np.pi))
plt.show()