关于MPAndroidChart分组柱状图groupBars()方法组间距计算公式的疑问
回答
你的推导完全正确,而且精准抓住了MPAndroidChart分组柱状图布局的核心逻辑——同组内的柱子间距数量确实等于数据集数量减一,这是很多人容易忽略的细节。
官方给出的公式其实是针对恰好2个数据集的特例:当datasets=2时,你的通用公式:
barWidth * datasets + barSpace * (datasets - 1) + groupSpace == 1.00
就会变成barWidth*2 + barSpace*1 + groupSpace=1。但官方的写法(barSpace + barWidth)*2 + groupSpace=1看起来和这个不一样,其实是因为官方在注释里对barSpace的定义做了简化——他们这里的barSpace是“每个柱子对应的额外间距”,而非严格意义上的“柱子间的单一间隙”。如果把官方的barSpace调整为你理解的“柱子间单一间隙”,那官方的数值其实应该是barSpace=0.04f(这样0.45*2 +0.04*1 +0.06=1),只是他们拆分写成了0.02f *2,方便对应两个数据集的场景。
换句话说,官方的公式是针对2数据集场景的“快捷写法”,而你的公式是适用于任意数量数据集的通用正确公式,你没有忽略任何关键要点,反而考虑到了官方例子没有覆盖的多数据集场景。
内容的提问来源于stack exchange,提问作者GrzegDev
相关产品推荐
相关产品推荐

