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

更改极轴投影子图的大小

  •  4
  • dreab  · 技术社区  · 9 年前

    我正在绘制一个3x3的极轴投影网格(看起来有点像雷达图)。

    e、 g.与本例完全相同: https://matplotlib.org/examples/pylab_examples/polar_demo.html

    scale either by width/height or area

    当我在子图中循环时,需要对轴应用哪些命令?

    我试过打开/关闭自动缩放。 有可能是gridspec。Gridspec()可能可行,但我不确定这是否是最好的解决方案,尽管它很可能是。 谢谢

    1 回复  |  直到 9 年前
        1
  •  3
  •   jrjc twiecki    9 年前

    问得好。

    fig.add_axes()

    f = plt.figure()
    ax = f.add_axes([0.05, 0.4, 0.2, 0.2], polar=True) # Left, Bottom, Width, Height
    ax2 = f.add_axes([0.30, 0.2, 0.6, 0.6], polar=True)
    r = np.arange(0, 2, 0.01)
    theta = 2 * np.pi * r
    ax.plot(theta, r)
    ax2.plot(theta, r)
    

    polar plot with different size


    不太好的版本

    import numpy as np
    import matplotlib.pyplot as plt
    
    r = np.arange(0, 2, 0.01)
    theta = 2 * np.pi * r
    
    ax = plt.subplot2grid((2,3), (0,0), polar=True)
    ax2 = plt.subplot2grid((2,3), (0,1), rowspan=2, colspan=2, polar=True)
    ax.plot(theta, r)
    ax2.plot(theta, r)
    

    polar plot with different size

    您可以使用比2x3更大的网格,并在绘图大小上具有更大的粒度。

    (不介意不同的图形样式)

    HTH公司