1 回答
TA贡献1788条经验 获得超4个赞
我用这个条形图以及我本地的 OP's gist 进行了测试。
非零轴最小值问题
这绝对是绘制逻辑的错误(相同的问题,但在 extjs 上)。忽略值的变化,这也给这个问题增加了进一步的麻烦,假设我们将底轴的值maximum
更新为,如果绘制图表上条形图的原始高度应该是,它将减少到(derived from )。minimum
n
h
h - n
h * (h-n)/h
例如;
在这里
h ~= 1000
, 和n = 500
, 所以我们看到绘制的条的无效高度是1000 - 500 = 500
, 所以50%
条的长度...
这里h ~= 1000
, 和n = 750
, 和1000 - 750 = 250
,25%
并且以 OP 的示例
h ~= 1000
, 和n = 995
, 因此我们看到极短的0.5%
长度条。
可悲的是,我无法仅通过用户可用的方法修复此问题,而无需访问 中的糟糕代码BarSeries
,即使这样做维护起来也很麻烦,而不是修改第 3 方非开源代码的最佳选择。我建议创建一张到这家公司的票...
超出轴范围的数据问题
当底部轴的范围减小到 时[95-105]
,行为变得不稳定,条形图堆积在 x 轴后面。
所以看起来当数据超出范围时,就会出现这种错误,图表上的数据集没有固有的隐藏/过滤逻辑。
轴标签步骤不一致问题
这似乎是使用默认设置进行步长计算近似的问题,即10 steps
(实际上还有其他逻辑,但除非使用了一些更多的自定义设置,否则它将是10
)。如果您给出一个手动范围,并且如果(max - min) % 10 != 0
,那么由于步骤计算的近似值,您将遇到这样的问题。
例如,让我们使用[90-115]
, with max - min = 25
,这会产生以下问题;
如果你只是做数学;
step = (max - min) / 10 = 25 / 10 = 2.5
标签的价值;
90 + (2.5 x 0) = 90
90 + (2.5 x 1) = 92.5 ~= 93
90 + (2.5 x 2) = 95
90 + (2.5 x 3) = 97.5 ~= 98
...
所以这只是范围和默认步数之间的不匹配。您可以通过使用自定义步长量来调制它,axis.setSteps()
在底部轴上使用一个将平均划分该值的值max - min
。
添加回答
举报