plt.figure(figsize =(10,20))不起作用

时间:2019-06-29 05:58:13

标签: python python-3.x matplotlib

我正在使用 matplotlib.pyplot 绘制直方图,并且我想增加图表的大小。要绘制的代码是:

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

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

3 个答案:

答案 0 :(得分:2)

只需将其放在顶部:

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

答案 1 :(得分:2)

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

    <div class="row">
<?php
    foreach ($rows as $row){
?> 
     <div class="col-lg-4 col-sm-4 col-6">
     Your content
     </div>
<?php } ?>
    </div>

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

答案 2 :(得分:0)

在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)