Nim*_*sky 11 java gwt extjs gxt
我正在构建堆积的条形图,但是,当我为轴指定最小值时,条形的渲染会扭曲,并且轴的比例/步长是错误的。我添加的行系列确实按预期工作。
当我向轴提供最小值/最大值时:
NumericAxis<MarketDataDetailsDecorator> axis = new NumericAxis<>();
axis.setPosition(Chart.Position.BOTTOM);
axis.setMinimum(995); // only this line
axis.setMaximum(1016);// and this line get added
Run Code Online (Sandbox Code Playgroud)
您可以看到条形图在完全不同的值上工作,但是蓝线仍然正确。此外,在一个非线性方式轴增量它步骤:995997999,1001,1003,1006,1008,1010,1012,1014,1016
这是一个错误还是两个错误-还是我在api中缺少了某些内容?
这是一个突出问题的要点:https : //gist.github.com/NimChimpsky/b4dc3dddc629ffefc7be2469eaa87d3a
我正在尝试显示条形图的放大版本,值的范围是1002.5-1005.5,第一个图是正确的,但是第二个图似乎是在随机分配值?
我使用此条形图以及本地OP的要旨进行了测试。
这绝对是绘制逻辑的错误(相同的问题,但在extjs上)。忽略随maximum值的变化,这也给这个问题带来了更多麻烦,假设我们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的example h ~= 1000和为例,n = 995因此我们看到了极短的0.5%长条。
遗憾的是,我无法仅通过用户可用的方法来解决此问题,而无需访问中的糟糕代码BarSeries,即使这样做,维护起来也很麻烦,而不是最好的修改第三方非开放源代码的方法。我建议为该公司创建一张票...
当下轴的范围减小到时[95-105],行为将变得不稳定,条形图将堆积在x轴后面。
因此,当数据超出范围时,似乎会出现这种错误,图表上的数据集没有固有的隐藏/过滤逻辑。
这似乎与使用默认设置的步长计算近似是一个问题10 steps(实际上还有其他逻辑,但是除非使用了更多自定义设置,否则将是10)。如果给出一个手动范围,而如果给出一个范围,(max - min) % 10 != 0那么由于步长计算的近似性,您将遇到这种问题。
例如,让我们在中使用[90-115],max - min = 25这会导致以下问题;
如果你只是做数学;
step = (max - min) / 10 = 25 / 10 = 2.5
Run Code Online (Sandbox Code Playgroud)
标签的价值;
因此,这只是范围和默认步长量之间的不匹配。您可以通过axis.setSteps()在底轴上使用自定义步长值(该值将max - min均匀除以该值)来进行调制。
| 归档时间: |
|
| 查看次数: |
244 次 |
| 最近记录: |