matplotlib绘制柱状图时,控制间距

问题描述:

绘制柱状图时,如果横轴刻度名过程,文字之间容易发生重叠,如图所示:

image.png
代码:
plt.bar(left=range(10), height=list(imgNum_per_type.values()) ,width=1)
plt.xlabel("颜色", fontproperties=font)
plt.ylabel('图片数目', fontproperties=font)
# plt.xticks(list(range(0, 18, 2)), list(dict_color.values()))
plt.xticks(range(10), ['小型车', '轿车','SUV','厢式货车','掀背车','MPV','小卡车','公交车','卡车','旅行车'], fontproperties=font)
plt.show()

尝试方法1:

网上博客的常用方法,修改bar的第一个参数,将每个柱子横坐标的值扩大二倍。
结果:没有变化,可能是受限于图表的大小,需要通过修改matplotlib的参数来解决


image.png
代码:
plt.bar(left=list(range(0,20, 2)), height=list(imgNum_per_type.values()) ,width=1)
plt.xlabel("颜色", fontproperties=font)
plt.ylabel('图片数目', fontproperties=font)
# plt.xticks(list(range(0, 18, 2)), list(dict_color.values()))
plt.xticks(list(range(0, 20, 2)), ['小型车', '轿车','SUV','厢式货车','掀背车','MPV','小卡车','公交车','卡车','旅行车'], fontproperties=font)
plt.show()

最终方案:

修改matplotlib的参数,增大图表大小,结果如图所示:


image.png
代码:
params = {
    'figure.figsize': '8, 4'
}
plt.rcParams.update(params)

你可能感兴趣的:(matplotlib绘制柱状图时,控制间距)