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

Matplotlib:最后一个Y记号标签不可见,页边距为0

  •  0
  • SaadH  · 技术社区  · 6 年前

    我正在画一个CDF,我希望Y记号标签是0,.2,.4,.6,.8,1。 以下是我实现这一目标的方法。

    导入matplotlib.pyplot as plt 将numpy导入为np #一些代码 Fig,ax=plt.子批次(FigSize=(14,5))。 ax.设置标签(np.arange(np.arange(0,1.1,step=0.2),1)) plt.页边距(0) …… 请显示())

    这将提供以下输出:

    当我注释掉plt.margins(0)时,我得到下图:

    为什么在第一个图中我看不到最上面的Y记号标签(1.0)?我怎样才能以0的利润实现它?

    这将提供以下输出:

    enter image description here

    当我发表评论时 plt.margins(0) ,我得到下图:

    enter image description here

    为什么在第一个图中我看不到最上面的Y记号标签(1.0)?我怎样才能以0的利润实现它?

    1 回复  |  直到 6 年前
        1
  •  1
  •   ImportanceOfBeingErnest    6 年前

    如果数据在0到1之间。它将在左上角绘制1。

    导入matplotlib.pyplot as plt 将numpy导入为np 数据=np.linspace(0,1,50) Plt.Plot(数据) plt.页边距(0) 请显示())

    
    

    如果您的数据范围不超过1,则不会。

    data=np.linspace(0,0.99,50)相同的代码

    因此,您需要手动将限制设置为所需的任何范围,因为Matplotlib无法为您猜测。

    导入matplotlib.pyplot as plt 将numpy导入为np 数据=np.linspace(0,0.99,50) Plt.Plot(数据) plt.页边距(x=0) plt.ylim(0,1) 请显示())

    
    

    enter image description here

    如果您的数据范围不超过1,则不会。

    同一代码data = np.linspace(0,0.99,50)生产

    enter image description here

    因此,您需要手动将限制设置为您想要的任何范围,因为Matplotlib不能为您猜测。

    import matplotlib.pyplot as plt
    import numpy as np
    
    data = np.linspace(0,0.99,50)
    
    plt.plot(data)
    plt.margins(x=0)
    plt.ylim(0,1)
    plt.show()
    

    enter image description here