【问题标题】:plt.figure(figsize=(10,20)) is not workingplt.figure(figsize=(10,20)) 不工作
【发布时间】:2019-06-29 14:21:46
【问题描述】:

我正在使用 ma​​tplotlib.pyplot 绘制直方图,我想增加绘图的大小。要绘制的代码是:

plt.hist(x)
plt.xlabel("Months")
plt.ylabel("Donated")
plt.figure(figsize=(6,4))
plt.show()

但是 plt.figure(..) 对图形的大小没有任何影响。我正在使用 Spyder IDE。

【问题讨论】:

  • 先放 plt.figure() 然后放 plt.hist(x)
  • @BryceWayne 成功了,谢谢
  • 当然。请记住在绘图之前定义您的空间。
  • 请把答案标记为正确。谢谢。

标签: python python-3.x matplotlib


【解决方案1】:

您想在创建绘图信息之前定义图形空间。

plt.figure(figsize=(6,4))
plt.hist(x)
plt.xlabel("Months")
plt.ylabel("Donated")
plt.show()

这将定义您的图形,然后在该空间中绘制信息,否则 Matplotlib 将使用默认值。

【讨论】:

    【解决方案2】:

    把它放在最上面:

    plt.figure(figsize=(10,20))
    plt.hist(x)
    plt.xlabel("Months")
    plt.ylabel("Donated")
    plt.show()
    

    【讨论】:

      【解决方案3】:

      在 matplotlib 中,如果我们计划在非默认图形尺寸上使用任何 pyplot 函数,我们必须首先创建图形。

      plt.figure(figsize=(6,4)) ## New figure
      plt.hist(x)
      plt.xlabel("Months")
      plt.ylabel("Donated")
      plt.show()
      

      来自docs,“每个 pyplot 函数都会对一个图形进行一些更改”,默认情况下会创建一个图形来放置所有 pyplot 更改。

      利用函数 gca() 返回当前坐标区(matplotlib.axes.Axes 实例),使用 gcf() 返回当前图形(matplotlib.figure.Figure 实例)

      调试:

      print(plt.gcf()) # Figure(432x288) default
      plt.figure(figsize=(10,20)) # --> (1)
      plt.hist(x)
      plt.xlabel("Months")
      plt.ylabel("Donated")
      print(plt.gcf()) # Figure(720x1440) from (1)
      plt.figure(figsize=(20,20)) # --> (2)
      print(plt.gcf()) # Figure(1440x1440) from (2)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-19
        • 2019-08-27
        • 1970-01-01
        相关资源
        最近更新 更多