python - Matplotlib ConnectionPatch 线被其他轴挡住了
问题描述
当我试图画一个箭头时,指向端被其他轴挡住了,你知道如何使那个部分可见吗?
如果您可以在我这里的示例代码之上进行编辑,那就太好了。
from matplotlib.patches import ConnectionPatch
import matplotlib.pyplot as plt
import numpy as np
grid_data = np.array([[[-0.1779874 , -0.90335705, -0.31157705, 0.77770067],
[ 0.93698288, 0.79215241, 0.10155888, 0.96101718],
[ 0.72994894, -0.83939131, 0.24713443, 0.74839211],
[ 0.10039462, -0.95778299, 0.43554077, 0.61927077]],
[[ 0.52294259, -0.0247383 , 0.23717517, -0.0857769 ],
[-0.43539246, 0.28503173, -0.39443502, -0.1478289 ],
[-0.2327904 , -0.08339054, 0.33072907, 0.74634504],
[-0.524284 , -0.72919194, -0.61543159, 0.17086563]]])
fig, axes = plt.subplots(nrows = 2, ncols = 2, figsize = (2.6, 2.8))
for i in range(2):
c = axes[0,i].pcolormesh(grid_data[i], cmap = 'RdBu_r', vmin = -1., vmax = 1.)
xyA = (0.5,0)
xyB = (0.5,.5)
coordsA = "axes fraction"
coordsB = "axes fraction"
con = ConnectionPatch(xyA = xyA, xyB = xyB, coordsA=coordsA, coordsB=coordsB,
axesA=axes[0,0], axesB=axes[0,1],
arrowstyle="->", shrinkB=5, linewidth = 5, edgecolor='b', clip_on=False)
axes[0,0].add_artist(con)
cb_ax = fig.add_axes([0.91, 0.13, 0.01, 0.75])
fig.colorbar(c, cax = cb_ax)
plt.draw()
plt.show()
解决方案
感谢@Sam Mason 的指点。解决此问题的一个简单更改是将 zorder 设置为相反的绘图顺序
for i in range(2):
c = axes[0,i].pcolormesh(grid_data[i], cmap = 'RdBu_r', vmin = -1., vmax = 1.)
axes[0,i].set_zorder(2-i)
推荐阅读
- angular - 在 Angular CLI 中生成的 Git
- reactjs - 在反应中创建条件样式
- node.js - 为什么不记名令牌给出错误“无法读取未定义的属性'拆分'”?
- python - Python Tkinter 命令优先级
- visual-studio - 卡在 Visual Studio 中运行的 Flutter 项目
- r - 使用 R 中的正则表达式在文本中提取年份,在带宽内
- excel - 发送短信的 VBA 问题
- sql - 如何从最终表中的嵌套 SELECT 查询中返回列?
- codenameone - 使用 Infinite Container pull to refresh 实现安全区域
- repository - openSUSE zypper 错误 - 在指定 URL 未找到有效元数据,无法确定存储库类型