【问题标题】:How to add a patch on a Wind rose?如何在风玫瑰上添加补丁?
【发布时间】:2019-12-05 19:50:08
【问题描述】:

我正在使用以下代码在风玫瑰上添加补丁(楔形)...但是也提供的输出看起来不太好...有人可以解决我的问题吗?

fov = Wedge((0,0), 20, 20, 60, color="r", alpha=0.5)

plt.hist([0, 1])
plt.close()


ax=WindroseAxes.from_ax()
ax.grid(linestyle="dashed", color="grey", zorder=0)
ax.bar(df_1995['dir'], df_1995['w_speed'],normed=True, opening=1, cmap = cm.magma_r, edgecolor='black', linewidth=0.5, bins=spd_bins, nsector=36, zorder= 3)
ax.set_legend(loc=(-0.12, 0.75), labels=spd_labels)
ax.set_yticks(np.arange(1, 12, step=3))
ax.set_yticklabels(np.arange(1, 12, step=3))
ax.set_title("Walney, Pre-farm Windrose")

ax.add_artist(fov)


plt.show()  

【问题讨论】:

  • 笛卡尔坐标中的楔形在极坐标中看起来有点奇怪。尝试使用酒吧。

标签: matplotlib patch wedge


【解决方案1】:

我的问题的解决方案是在定义 Wedge 补丁时使用以下参数:transform=ax.transAxes

因此,定义补丁的完整代码是:

fov = Wedge((0.51,0.43), 0.497, 220, 260, lw=1.5, facecolor="grey", edgecolor ='black', transform=ax.transAxes, alpha=0.2)

【讨论】:

    猜你喜欢
    • 2022-12-09
    • 1970-01-01
    • 2013-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多