1

在 Vaadin 14.6.1 中,我试图从这里创建一个 Vaadin 热图,愚弄文档/示例。

但是,我遇到了一些问题/问题,以下按重要性降序排列:

  1. 热图支持 30 行 x 30 列;但是当我尝试 40 行乘 40 列时,整个热图显示为单一颜色(在我的情况下为蓝色)。
  2. 是否可以手动设置配色方案的最小数值和最大数值。这样,如果我一天绘制我的数据并且它的值在 0 到 1 的范围内,但是在另一天的另一个数据集上,数值范围在 0 到 0.5 之间,配色方案范围不会自动改变(介于 0 和 0.5 之间)并混淆用户。
  3. 文档中,它列出了以下方法,但它们似乎在 Vaadin 14.6.1 中不存在
plotOptions.setBorderColor(SolidColor.WHITE);
plotOptions.setBorderWidth(2);
  1. 当我将鼠标悬停在数据点上时,工具提示是否只能显示数值(而不是 x、y 坐标或系列名称等?)
  2. 数据点的数量有限制吗?我希望如果上面的#1 得到解决,我可以绘制一个 100 x 100(即 10,000)点热图。
  3. 如果我绘制 100×100,x 和 y 轴上会有很多标签。在我的例子中,x 和 y 轴实际上是数字的,所以我按照文档的建议做了,只是在 xaxis 和 yaxis 点上放置了类别标签。但是,有没有办法只显示每个“第n个”标签,让x轴和y轴不那么拥挤?(这基本上会模仿 Vaadin 对正常折线图的 x 轴和 y 轴所做的事情)。
4

1 回答 1

3

我对 Vaadin Chart 没有那么丰富的经验,但这些是我可以评论的问题:

(1) 对于 40x40 项目,您会超过 1000 的阈值,在该阈值中图表出于性能原因切换到“turbo”模式。这似乎与热图系列不兼容。您可以通过设置禁用涡轮模式plotOptions.setTurboThreshold(0);

(2) 不幸的是ColorAxis,它不支持这一点,它只有一个用于最小和最大颜色的 API。虽然绝对是一个有效的用例,它似乎得到了 Vaadin Chart 在后台使用的 Highcharts 库的支持。您应该考虑在Github存储库中为此打开一个功能请求。

(3) 这似乎是一个文档问题。这些方法在更高的 Vaadin 平台版本中可用,但在 14.6 中不可用。

(5) 理论上不会,但实际上由于 DOM 元素过多(100x100 的快速测试会使浏览器冻结 10 秒),浏览器的性能会受到巨大影响。恐怕该组件并不是真正为这种极端用例而设计的。在这种情况下,最好使用使用画布的低级 JS 绘图库,或者在服务器端绘制图像并在浏览器中显示。也许您还可以考虑修改您的用例,以便只显示数据的一个切片并允许用户在切片之间切换。

于 2021-05-27T15:02:43.287 回答