代码之家  ›  专栏  ›  技术社区  ›  Omid

如何在x值的间隔上创建绘图

  •  1
  • Omid  · 技术社区  · 6 年前

    我想在Matplotlib中创建一个绘图X值的原始范围是0-70,但我想放大范围[30-40]。在单独的图中放大该范围。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Alessandro Peca    6 年前

    你可以做两个单独的情节,比如

    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()
    

    你得到

    enter image description here

        2
  •  0
  •   Sheldore    6 年前

    除了另一个答案外,您可能还想知道如何使用图中的插图来突出显示某些特定的曲线范围。这里,前两个值 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()
    

    enter image description here