plt 棒状图(柱状图)减小柱子间距

该博客介绍了如何通过调整matplotlib库中柱状图的width参数来改变柱子之间的间隔,以达到更好的视觉效果。同时,通过设置figure.figsize参数来调整图窗大小,使得图表更加协调。作者分享了具体代码示例,包括设置y轴范围、添加x轴标签等细节,以确保图表的专业性和美观性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

        画图的的时候发现两哥柱子之间的间隔太大,不好看

在这里插入图片描述

解决办法

rects1 = plt.bar(x=xx, height=mean1, width=0.6, alpha=0.8,align='edge', color='blue')

        这个宽度是由 width 决定的 ,调整width 的大小即可,比如,我这儿的横坐标是range(0,5),所以 width 设置成1那就把地方都占满了,也就是柱子之间没空隙
在这里插入图片描述

        width 等于0.8的时候

在这里插入图片描述

        当然,如果你设定的x是 range(0,10,2),那可能要 width =2.0 才是无空隙

        我最后设置的是 width 等于0.6,得到一个较好的效果
在这里插入图片描述

附加

        在这个过程中涉及到重设图窗的大小,主要用到如下代码

params = {
    'figure.figsize': '5, 5'
}
plt.rcParams.update(params)

        目的是通过等比例放大(缩小)图窗让我的图更好看,更切合,不突兀

完整代码

mean1,mean2,mean3=avgSlove(X,y)

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
label_list = ['色调', '红色均值', '相对红色分量', '粗度','高频能量']    # 横坐标刻度显示值
print(len(label_list))
xx = range(len(label_list))

'''调整图窗大小'''
params = {
    'figure.figsize': '5, 5'
}
plt.rcParams.update(params)
'''调整图窗大小'''

rects1 = plt.bar(x=xx, height=mean1, width=0.6, alpha=0.8,align='edge', color='blue')
plt.ylim(0, 1)     # y轴取值范围
plt.ylabel("归一化后的值")
plt.xticks([index + 0.3 for index in xx], label_list)   #这儿的0.3是配合宽度0.6来的,是他的一半,目的是让刻度线在柱子的中间
plt.xlabel("特征",labelpad=8.5)
plt.show()
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中南自动化学院至渝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值