本文介绍基于Python中matplotlib.pyplot
模块,修改柱状图、条形图两侧的柱子与图像边缘之间距离的方法。
近,绘制了一个水平的柱状图,但是发现图的上、下边距(不是柱子与柱子相互之间的间距,而是上方与下方柱子各自与图边缘的距离)相对较大,非常影响美观。同时需要说明的是,本文这里的柱状图纵坐标变量是代表变量名称的不同的字符串,而不是简单的数据范围,如下图所示:
图下方则是这个样子:
可以看到,整体感觉图的边距太大,非常不美观;因此,需要对其加以调整。
经过不断地探索与尝试,发现调整所需代码其实非常简单,仅仅需要两行;但这个代码需要借助Python中matplotlib.pyplot
这一模块,大家如果没有安装的话需要提前安装一下这个库。
y_num=np.arange(len(train_X_column_name))
plt.ylim(min(y_num)-1,max(y_num)+1)
其中,train_X_column_name
是y轴变量,也就是不同变量的名称字符串组成的列表,其每一个元素都是一个字符串。我们通过求len()
出列表长度,进而获取一个从0开始到列表长度为止的范围;随后通过ylim
限定纵坐标的大、小值,亦即各空出一个柱子的宽度。
得到修改后的图边距如下,可以看到,修改后的结果就非常美观了。
图下方则是这个样子:
这样子看上去,整个柱状图的边距比较符合我们的审美,整个图看起来也非常紧凑。