6

Python修改柱状图边缘柱子与图边界的距离 - 疯狂学习GIS

 1 year ago
source link: https://www.cnblogs.com/fkxxgis/p/17097591.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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

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

20210509214017232.png

  图下方则是这个样子:

20210509214027874.png

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

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

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

20210509215132879.png

  图下方则是这个样子:

20210509215145853.png

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK