美文网首页
11-极坐标图

11-极坐标图

作者: 蓝剑狼 | 来源:发表于2018-09-16 23:48 被阅读58次

    调用subplot()创建子图时通过设置projection='polar',便可创建一个极坐标子图,然后调用plot()在极坐标子图中绘图

    # 创建极坐标轴
    
    s = pd.Series(np.arange(20))
    theta=np.arange(0,2*np.pi,0.02)
    print(s.head())
    print(theta[:10])
    # 创建数据
    
    fig = plt.figure(figsize=(8,4))
    ax1 = plt.subplot(121, projection = 'polar')
    ax2 = plt.subplot(122)
    # 创建极坐标子图
    # 还可以写:ax = fig.add_subplot(111,polar=True)
    
    ax1.plot(theta,theta*3,linestyle = '--',lw=1)  
    ax1.plot(s, linestyle = '--', marker = '.',lw=2)
    ax2.plot(theta,theta*3,linestyle = '--',lw=1)
    ax2.plot(s)
    plt.grid()
    # 创建极坐标图,参数1为角度(弧度制),参数2为value
    # lw → 线宽
    
    image.png
    # 极坐标参数设置
    
    theta=np.arange(0,2*np.pi,0.02)
    plt.figure(figsize=(8,4))
    ax1= plt.subplot(121, projection='polar')
    ax2= plt.subplot(122, projection='polar')
    ax1.plot(theta,theta/6,'--',lw=2)
    ax2.plot(theta,theta/6,'--',lw=2)
    # 创建极坐标子图ax
    
    ax2.set_theta_direction(-1)
    # set_theta_direction():坐标轴正方向,默认逆时针
    
    ax2.set_thetagrids(np.arange(0.0, 360.0, 90),['a','b','c','d'])
    ax2.set_rgrids(np.arange(0.2,2,0.4))
    # set_thetagrids():设置极坐标角度网格线显示及标签 → 网格和标签数量一致
    # set_rgrids():设置极径网格线显示,其中参数必须是正数
    
    ax2.set_theta_offset(np.pi/2)
    # set_theta_offset():设置角度偏移,逆时针,弧度制
    
    ax2.set_rlim(0.2,1.2)
    ax2.set_rmax(2)
    ax2.set_rticks(np.arange(0.1, 1.5, 0.2))
    # set_rlim():设置显示的极径范围
    # set_rmax():设置显示的极径最大值
    # set_rticks():设置极径网格线的显示范围
    
    image.png
    x = np.random.randint(0,10,6)
    y = np.random.randint(0,10,6)
    print(x, y, sep=" || ")
    for i, k in zip(x, y):
        print(i, k)
    #运行结果
    [9 5 1 6 4 5]||||[5 4 7 9 4 7]
    9 5
    5 4
    1 7
    6 9
    4 4
    5 7
    

    相关文章

      网友评论

          本文标题:11-极坐标图

          本文链接:https://www.haomeiwen.com/subject/iazkgftx.html