【问题标题】:Why is my AmChart XYChart only showing a single tooltip for multiple series?为什么我的 AmChart XYChart 只显示多个系列的单个工具提示?
【发布时间】:2019-04-17 18:51:14
【问题描述】:

我正在使用 AmCharts v4 创建一个包含 3 个系列的 XYChart。创建每个系列时,我会分配一个工具提示:

series.tooltipText = "{name}: [bold]{valueY}[/]";

但是,图表最终只显示一个工具提示(温度:-50)。

StackOverflow 上有很多关于相反问题的问题:用户看到默认显示的多个工具提示,而他们希望看到一个组合的工具提示。例如,我希望我的图表看起来像这个问题中的图表:

Amcharts 4, xychart, limiting the number of tooltips and combining infos in one tooltip

我怎么可能创建了 3 个系列,每个都正确显示,每个都分配了一个工具提示,但我在悬停时只看到一个工具提示?

【问题讨论】:

    标签: tooltip amcharts


    【解决方案1】:

    好的,解释是:我正在创建一个图表并将我的数据直接推送到chart.data。

    事实证明,我需要为每个系列分别将系列特定的数据点推送到 series.data。然后我得到每个系列的单独工具提示。这个概念在这里解释:

    https://www.amcharts.com/docs/v4/concepts/series/

    【讨论】:

    • 我也遇到了同样的问题,能否贴出解决方案的代码?
    • @NestorPerez 抱歉,这是针对以前的工作,所以它是专有的。你在做我在这篇文章中的建议吗?先创建图表,然后单独推送数据点?
    【解决方案2】:

    我有同样的问题,我通过添加解决它

    widget.chart.series.getIndex(j).data = datas;
    

    而不是

    widget.chart.data = datas;
    

    【讨论】:

      【解决方案3】:

      我找到了一个解决方案,也许它是用 Angular 框架编写的。我写了一个通用的函数,就是一张一张的上传图表数据。

      private uploadChartData(readings: Reading[], dataFieldX: string, dataFieldY: string): void {
          const seriesIndex: number = this.findSeriesIndex(dataFieldY);
          for (const reading of readings) {
              const chartData = {
                  [dataFieldX]: reading.timeStamp,
                  [dataFieldY]: reading.value
              };
              this.addOneChartData(chartData, seriesIndex);
          }
      }
      
      private findSeriesIndex(seriesName: string): number {
          for (let i = 0; i < this.chart.series.values.length; i++) {
              if (this.chart.series.values[i].dataFields.valueY === seriesName) {
                  return i;
              }
          }
          return 0;
      }
      
      private addOneChartData(chartData: any, seriesIndex: number): void {
          this.chart.addData(chartData);
          this.chart.series.getIndex(seriesIndex).addData(chartData);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多