matplotlib 使用不带对数刻度或插图的可变yrange绘图

eqoofvh9  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(76)

我的问题昨天因为一个误解而被关闭了。
我有下面的图,想放大y=-.1到y=.4,这样就可以清楚地看到n=2..4。如何“放大”这个范围?x1c 0d1x的数据
如果n=1不存在,则其他曲线如下所示:


我不想使用一个inset,而我想有这样的东西:


mjqavswn

mjqavswn1#


的数据
您可以使用两个相邻的子图(sharex='all删除上面的xticksxticklabelsfig.subplots_adjust(hspace=0)将它们挤在一起),然后您只需小心设置两个子图中的 y 限制。

import matplotlib.pyplot as plt
import numpy as np

t = np.linspace(0.00001, np.pi-0.00001, 201)

fig, (ax0, ax1) = plt.subplots(2, 1, sharex='all')
fig.subplots_adjust(hspace=0)

ax1.plot(t, 1/np.sin(t)**2)
ax1.plot(t,   np.sin(t)**2)
ax1.set_ylim(0, 3)

ax0.semilogy(t, 1/np.sin(t)**2)
ax0.set_ylim(ymin=3)

plt.show()

字符串

相关问题