matplotlib条形图的底部边框

时间:2017-05-15 03:54:37

标签: python matplotlib

所以我试图使用matplotlib制作一个条形图,没有"框"或轴刻度,如下:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.bar([1, 2], [150, 250], edgecolor = 'black', linewidth = 1, \
       color = '#EEFFCC')

ax.set_xticks([1, 2])
plt.tick_params(bottom = False, left = False)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['bottom'].set_visible(False)

特别是,我不想要"框"但我希望这些酒吧有黑色边框。但是,当我制作情节时,它看起来像这样:

enter image description here

底部边界不在那里(表面上是因为我摆脱了底部"盒子"脊柱)。如果我尝试设置linewidth = 2或更高,边框就在那里,但比顶部,左边或右边框要薄很多。

无论如何,我可以让底部边框显示的长度与条形的顶部/左/右边框相同吗?谢谢!

1 个答案:

答案 0 :(得分:2)

如果线条(或其他任何东西)超出了matplotlib中的图形范围,它们将被剪裁(发生在您的盒子中)。如果你强制那么不被剪裁那么它就会起作用。

更改相关行:

ax.bar([1, 2], [150, 250], edgecolor = 'black', linewidth = 1, \
       color = '#EEFFCC', clip_on=False)

给出: enter image description here