【问题标题】:How to set the axis limit in a matplotlib plt.polar plot如何在 matplotlib plt.polar 图中设置轴限制
【发布时间】:2015-07-31 12:29:00
【问题描述】:

假设我有以下极坐标图:

a=-0.49+1j*1.14
plt.polar([0,angle(x)],[0,abs(x)],linewidth=5)

我想将径向限制调整为 0 到 2。

最好的方法是什么?

请注意,我具体询问的是 plt.polar() 方法(而不是在类似问题中常见的普通图中使用 polar=True 参数)。

这似乎有效,除非我从控制台(Spyder,Win7)进行绘图:

>>> ax=plt.gca()
>>> ax.set_rlim(0,2)

【问题讨论】:

    标签: python numpy matplotlib plot polar-coordinates


    【解决方案1】:

    你可以使用经典的方法

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.arange(-180.0,190.0,10)
    theta = (np.pi/180.0 )*x    # in radians
    
    offset = 2.0
    
    R1 = [-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.483,0.479,0.346,0.121,\
    -0.137,-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.483,0.479,0.346,0.121,\
    -0.137,-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.483,0.479,0.346,0.121,\
    -0.137,-0.358]
    
    fig1 = plt.figure()
    ax1 = fig1.add_axes([0.1,0.1,0.8,0.8],polar=True)
    ax1.set_ylim(-2,2)
    ax1.set_yticks(np.arange(-2,2,0.5))
    ax1.plot(theta,R1,lw=2.5)
    plt.show()
    

    【讨论】:

      【解决方案2】:

      解决 OP 的一种更简单的方法可能是:

      ax.set_ylim([0,2])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-09
        • 2011-04-16
        • 1970-01-01
        相关资源
        最近更新 更多