【问题标题】:How to make a non-square contourf-plot如何制作非方形轮廓图
【发布时间】:2011-03-24 11:56:45
【问题描述】:

我在 pyplot 中使用 contourf 来绘制一些标量数据,但是当我的域不是正方形时,我觉得数据被歪曲了,因为它总是将它绘制成正方形(尽管轴值在一侧会增加得更快.) 如何强制轴缩放相等,这样如果我的域在 x 方向上的长度是 x 方向的两倍,那么图像实际上会绘制在具有此属性的矩形中?

我正在做这样的事情:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
contour = ax.contourf(X,Y,Z)
fig.colorbar(contour)
fig.canvas.draw()

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    使用ax.set_aspect

    import matplotlib.pyplot as plt
    import numpy as np
    
    fig = plt.figure()
    ax = fig.add_subplot(111)
    x=np.r_[-10:10:100j]
    y=np.r_[-20:20:100j]
    z= np.add.outer(x*x, y*y)
    contour=ax.contour(x,y,z)
    fig.colorbar(contour)
    ax.set_aspect('equal')
    # ax.axis('equal')
    plt.show()
    

    产量

    同时将ax.set_aspect('equal') 更改为

    ax.axis('equal')
    

    产量

    【讨论】:

      【解决方案2】:

      This might help:

      ax = fig.add_subplot(111, aspect="equal")
      

      【讨论】:

        【解决方案3】:

        您需要更改轴设置:

        axis('equal')
        

        在此处查看所有轴设置:

        http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.axis

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-10-17
          • 1970-01-01
          • 2021-09-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-03
          相关资源
          最近更新 更多