繁体   English   中英

如何更改Anychart水平仪中的标记标签?

[英]How to change marker labels in anychart horizontal gauge?

我正在使用anychart创建百分比水平仪表。

而且我想更改标记信息以显示我想要的内容。

我在文档中找不到任何内容。

我正在使用javascript anychart游乐场(下面的链接)。 最终实现在Angular 5上进行。

原始代码: https : //playground.anychart.com/docs/v8/samples/GAUGE_Linear_04

(可选)打字稿方法:

createAnyChartsCustomGauges() {
let array = [];
    this.listItem.forEach(item => {
      // Gauge type and data
      const gauge = anychart.gauges.linear();
      gauge.layout('horizontal');
      // Set the data
      gauge.data([item.percent]); //number

      // Create the custom scale bar
      const scaleBarre = gauge.scaleBar(0);
      // color and style setting
      const colorScale = anychart.scales.ordinalColor().ranges([
        {
          from: 0,
          to: 25,
          color: ['#D81E05', '#EB7A02'],
        },
        {
          from: 25,
          to: 50,
          color: ['#EB7A02', '#FFD700'],
        },
        {
          from: 50,
          to: 75,
          color: ['#FFD700', '#CAD70b'],
        },
        {
          from: 75,
          to: 100,
          color: ['#CAD70b', '#2AD62A'],
        },
      ]);
      scaleBarre.width('5%');
      scaleBarre.offset('31.5%');
      scaleBarre.colorScale(colorScale);

      // Add a marker pointer
      const marker = gauge.marker(0);
      marker.offset('31.5%');
      marker.type('triangle-up');
      marker.zIndex(10);
      marker.labels().format('{%data[0]}%');
      // Add a scale
      const scale = gauge.scale();
      scale.minimum(0);
      scale.maximum(100);
      scale.maxTicksCount(10);

      // Add an axis
      const axis = gauge.axis();
      axis.minorTicks(true);
      axis.minorTicks().stroke('#cecece');
      axis.width('1%');
      axis.offset('29.5%');
      axis.orientation('top');

      // format axis labels
      axis.labels().format('{%value}%');

      // set paddings
      gauge.padding([0, 20]);

      array.push(gauge);

    });
  }

实际 :{指针0值63}

预期的 :{价值63%}

您应该使用Tooltip类的format()方法。 任何图表游乐场都有类似的示例

// enable HTML for tooltips
chart.tooltip().useHtml(true);

// tooltip settings
var tooltip = gauge.tooltip();
tooltip.positionMode("point");
tooltip.format("Value: <b>${%value} %</b>");

试试看,看看是否可行?

@gugateider绝对正确! 另外,如果您不想对工具提示使用HTML样式并禁用工具提示的标题和分隔符,则可以使用以下代码:

  gauge.tooltip().title(false);
  gauge.tooltip().separator(false);
  gauge.tooltip().format("Value: {%value}%");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM