我想在matplotlib中创建一个绘图,x值的原始范围是0-70,但我希望放大[30-40]范围。实质上在单独的图中放大了该范围。
答案 0 :(得分:1)
您可以做两个单独的绘图,例如
import matplotlib.pyplot as plt
x=[10,20,30,40,50,60,70] #for example
y=[1,2,3,4,5,6,7]
fig, ax = plt.subplots(1,2)
ax[0].plot(x,y) # original plot
ax[1].plot(x,y) # second plot
ax[1].set_xlim(30,40) # set a limit on x-axis, is like a zoom
plt.show()
然后你得到
答案 1 :(得分:0)
除了其他答案,您可能还想知道如何使用图中的插图突出显示某些特定的曲线范围。在这里,plt.axes([.2, .5, .3, .3])
中的前两个值以相对坐标(0至1)定义插入图形轴的起点,而后两个值(.3,.3)定义x长度和y长度你的插图再次。可以控制将插图放置在感兴趣的位置。
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(8,6))
x = range(70)
plt.plot(x,x)
ax2 = plt.axes([.2, .5, .3, .3])
ax2.plot(x,x)
ax2.set_xlim(30, 40)
ax2.set_title('Zoomed')
plt.show()