使用matplotlib新的subfigure-不是子情节-而是子图特性。我想在两个子图之间画一条线。从我的实验来看,我不相信连接补丁(适用于子情节)能做到这一点。有人知道这是否可能吗?
7y4bm7vi1#
ConnectionPatch可以很好地处理子图形,但正如@JodyKlymak所指出的,应该通过set_in_layout(False)将面片从布局计算中删除。下面是连接第一个子图的ax1a上的(4,8)和第二个子图的ax2上的(2,5)的示例:
ConnectionPatch
set_in_layout(False)
ax1a
ax2
import matplotlib.pyplot as plt from matplotlib.patches import ConnectionPatch fig = plt.figure(layout='constrained') sf1, sf2 = fig.subfigures(1, 2, wspace=0.07) ax1a, ax1b = sf1.subplots(2, 1) ax1a.scatter(4, 8) ax1b.scatter(10, 15) ax2 = sf2.subplots() ax2.scatter(2, 5) conn = ConnectionPatch( xyA=(4, 8), coordsA='data', axesA=ax1a, xyB=(2, 5), coordsB='data', axesB=ax2, color='red', ) ax2.add_artist(conn) conn.set_in_layout(False) # remove from layout calculations plt.show()
1条答案
按热度按时间7y4bm7vi1#
ConnectionPatch
可以很好地处理子图形,但正如@JodyKlymak所指出的,应该通过set_in_layout(False)
将面片从布局计算中删除。下面是连接第一个子图的
ax1a
上的(4,8)和第二个子图的ax2
上的(2,5)的示例: