【问题标题】:Vaadin heatmap does not support 40x40 (1600) points?Vaadin 热图不支持 40x40 (1600) 点?
【发布时间】:2021-05-27 00:35:06
【问题描述】:

在 Vaadin 14.6.1 中,我试图创建一个 Vaadin 热图,愚弄来自 here 的文档/示例。

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

  1. 热图支持 30 行 x 30 列;但是当我尝试 40 行乘 40 列时,整个热图显示为单一颜色(在我的情况下为蓝色)。
  2. 是否可以手动设置配色方案的最小数值和最大数值。这样,如果我一天绘制我的数据并且它的值在 0 到 1 的范围内,但在另一天的另一个数据集上,数值范围在 0 到 0.5 之间,配色方案 range 不会自动改变(在 0 到 0.5 之间)并让用户感到困惑。
  3. documentation 中列出了以下方法,但在 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 轴所做的操作)。

【问题讨论】:

    标签: vaadin vaadin-flow vaadin14 vaadin-charts


    【解决方案1】:

    我对 Vaadin 图表的经验并不多,但我可以评论以下问题:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 2020-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多