我正在使用matplotlib创建一个包含多个直方图的图。我的图使用的模板代码是here。我试图画出直方图的轮廓,所以我修改了for循环中的代码,以包含edgecolor参数,如下所示:
for x_loc, binned_data in zip(x_locations, binned_data_sets):
lefts = x_loc - 0.5 * binned_data
ax.barh(centers, binned_data, height=heights, left=lefts, edgecolor='k')
但我最终结果是一个有垂直线的图:plot有没有办法去掉垂直线,只保留轮廓?(顺便说一下,我的图表看起来与示例不同,因为我使用了不同的数据,但代码基本相同。
1条答案
按热度按时间ars1skjm1#
出现垂直线是因为正在为没有数据的条柱绘制边线(值
binned_data
item == 0)您可以使用布尔掩码,使
ax.barh()
仅为具有数据的对象绘图。使用您发送的相同for循环段:
输出图形: