发布时间:2023-02-07 文章分类:编程知识 投稿人:王小丽 字号: 默认 | | 超大 打印

  本文介绍基于Pythonmatplotlib.pyplot模块,修改柱状图、条形图最两侧的柱子图像边缘之间距离的方法。

  最近,绘制了一个水平的柱状图,但是发现图的上、下边距(不是柱子与柱子相互之间的间距,而是最上方与最下方柱子各自与图边缘距离)相对较大,非常影响美观。同时需要说明的是,本文这里的柱状图纵坐标变量是代表变量名称的不同的字符串,而不是简单的数据范围,如下图所示:

Python修改柱状图边缘柱子与图边界的距离

  图下方则是这个样子:

Python修改柱状图边缘柱子与图边界的距离

  可以看到,整体感觉图的边距太大,非常不美观;因此,需要对其加以调整。

  经过不断地探索与尝试,发现调整所需代码其实非常简单,仅仅需要两行;但这个代码需要借助Pythonmatplotlib.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限定纵坐标的最大、最小值,亦即各空出一个柱子的宽度。

  得到修改后的图边距如下,可以看到,修改后的结果就非常美观了。

Python修改柱状图边缘柱子与图边界的距离

  图下方则是这个样子:

Python修改柱状图边缘柱子与图边界的距离

  这样子看上去,整个柱状图的边距比较符合我们的审美,整个图看起来也非常紧凑。