下料排版算法python_matplotlib用于组合下料箱

本文介绍了如何使用numpy库的histogram函数和matplotlib库的bar方法,来实现下料箱的排版算法。通过调整bin宽度和阈值,优化了条形图的显示,使得低于50的区域更为清晰。同时,利用numpy数组进行颜色管理,实现了不同条件下的条形颜色变化,例如根据百分位数和特定值改变颜色。这种方法提供了更多的定制空间,但也需要注意避免因过度调整导致的数据扭曲。
摘要由CSDN通过智能技术生成

我不太清楚你要做什么,尤其是你的期望似乎与你的简单例子有点矛盾(我是指基于百分位的着色)。在

无论如何,我建议您直接使用np.histogram(因为您已经导入了numpy),并手动调用{}。这样做的主要优点(除了可以更好地控制输出,以稍微增加一些工作量为代价)是您可以传递一个包含每个条颜色的列表。在

示例的修改版本:values=[1,1,1,1,1,1,1,2,2,2,2,4,4,4,5,6,7,8,9,10,111,12,23,30,30,35,353,35,25,25,25,15,15,15,20,20,20,40,40,40,45,50,55,50,50,100,200,300,400]

limit1, limit2 = 50, 500

binwidth1, binwidth2 = 5, 100

binr=list(range(0, limit1, binwidth1)) + list(range(100, limit2, binwidth2))

# improvement 1: merge bins above 150, keep the same maximum

thresh = 150

# keep the first value after the threshold too

binr_tmp = [val for val in binr if val<=thresh]

binr = binr_tmp + [binr[len(binr_tmp)], binr[-1]]

# improvement 2: use np.histogram explicitly, feed into plt.bar later (for colors)

bin_vals, bins = np.histogram(values,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值