当我使用相同的figsize调用使用pandas.plot的相同函数时,我得到不同大小的PNG文件。宽度相同,但像素的高度会发生变化。我怀疑x轴标签的长度会改变高度。我还没有尝试直接调用matplotlib函数。
我也试过plt.rcParams['figure.figsize'] = (7,4)
。问题似乎不在于如何设置figsize。我的print_fig_info
总是产生欲望值。
# Primitive way that confirmed that the figure size does not change
def print_fig_info(label=""):
print(label,str(plt.gcf().get_size_inches()))
def my_plot(df):
global c
print_fig_info("Before plot")
df.plot(kind='bar', figsize=(7,4))
print_fig_info("After plot")
# want to make output files unique
c += 1
plt.savefig("output"+str(c), bbox_inches='tight', dpi='figure')
答案 0 :(得分:1)
在致电savefig
时,您明确要求matplotlib将figsize更改为仍适合via bbox_inches='tight'
中所有元素的最小尺寸。
或者换句话说,bbox_inches='tight'
专门用于将图形大小更改为最小边界框,因此matplotlib正在执行它所要求的内容。
解决方案:请勿使用bbox_inches='tight'
。