条形图通过子图内或子图之间的纵横比或轴限制来消除空间

时间:2018-08-07 08:35:57

标签: matplotlib bar-chart subplot

我正在努力清除子图中或之间的空白区域。我已经在这里阅读了很多答案,但是我什么也没得到。 我想用几个子图制作水平条形图:

我的例子是:

panic

将导致: horizontal bar plot with gaps

我使用import matplotlib.pyplot as plt x1 = [5] y1 = [-10] x2 = [30, 35] y2 = [-15, -20] x3 = [15, 5, 20] y3 = [-10, -15, -30] xlimits = [-30, 35] ylimits = [-0.5, 2.5] fig = plt.figure(figsize=(12,6)) ax1 = fig.add_subplot(3,1,1) ax1.barh(0, x1, height = 1) ax1.barh(0, y1, height = 1) ax2 = fig.add_subplot(3,1,2) ax2.barh([0, 1], x2, height = 1) ax2.barh([0, 1], y2, height = 1) ax3 = fig.add_subplot(3,1,3) ax3.barh([0, 1, 2], x3, height = 1) ax3.barh([0, 1, 2], y3, height = 1) for ax in fig.axes: ax.set_ylim(ylimits) ax.set_xlim(xlimits) plt.show() 来使所有条的高度相等,并且使用ax.set_ylim(ylimits)来使一条垂直线的高度为“ 0”。

现在,我想调整bbox以删除子图中(顶部和中间)的空白区域。但是我不知道如何实现这一目标。我也尝试过ax.set_xlim(xlimits)。在这种情况下,我将在子图之间收到空白区域。 我想使用子图来轻松添加描述,交换内容等。

预先感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,则可以尝试将其添加到代码中:

java.io.IOException: Access is denied   at             
java.io.WinNTFileSystem.createFileExclusively(Native Method)    at     
java.io.File.createTempFile(Unknown Source)     at
hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:142) 

Caused: 
    java.io.IOException: Failed to create a temporary file in C:\Program Files (x86)\Jenkins