簡體   English   中英

Matplotlib的inset_locator具有反轉軸

[英]Matplotlib's inset_locator with inverted axes

我想在我的情節中制作標准插圖。 但我不知道如何使用inset_locator 這是我的代碼:

import matplotlib.pyplot as plt
import numpy as np

from mpl_toolkits.axes_grid1.inset_locator import inset_axes, mark_inset

x = np.linspace(0, 2)
plt.plot(x, np.sin(x))

ax = plt.gca()
ax.invert_yaxis()
axins = inset_axes(ax, width='40%', height='30%', loc='lower left')
x_in = np.linspace(1.25, 1.75)
axins.plot(x_in, np.sin(x_in))
axins.invert_yaxis()
mark_inset(ax, axins, loc1=2, loc2=4)
plt.show()

結果是: 在此輸入圖像描述

顯然它的邊緣連接了錯誤的角落。 當我的軸從最大值變為最小值時,如何才能使它們正確?

不幸的是, mark_inset無法應對反轉軸。 因此,您需要手動設置連接器的位置。

patch, pp1,pp2 = mark_inset(ax, axins, loc1=1,loc2=1)
pp1.loc1 = 1
pp1.loc2 = 4
pp2.loc1 = 4
pp2.loc2 = 1

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM