2015-07-21 63 views
3

我在使用熊猫(matplotlib在后台)创建一些直方图。轴蜱的标签被截断为pandas/matplotlib图

我大致做这样的:

output = StringIO.StringIO() 
plot_canvas = matplotlib.pyplot.figure() 
ax = plot_canvas.add_subplot(1, 1, 1) 

series = df[key].value_counts()[:nums] 
fig = series.plot(ax=ax, kind="bar", colormap="Blues", 
        legend=False, 
        stacked=False, 
        title="Numbers of %s" % key, 
        grid=True).get_figure() 
fig.savefig(output, format="png") 
o_data = output.getvalue() 
output.close() 
image_data = o_data.encode("base64") 
image_uri = 'data:image/png;base64,%s' % image_data 

我的问题是,该X数据名称(串),这是相当长的,哪些是与在PNG截断这些默认设置。所以我想知道,如何在绘图中移动图形,以便在图形下面获得更多的自由空间。

enter image description here

你可以看到,在X轴的字符串被截断。

回答

1

有一个简单的自动化solution

plot_canvas.tight_layout()

您也可以在创建插曲时,通过传递rect关键字参数add_subplot格式[left, bottom, width, height]定义轴的矩形。

+0

如果您已经完成了'import matplotlib.pyplot as plt',那么您也可以通过'plt.tight_layout()'来访问它。 – drevicko