【问题标题】:Highcharts polygon labelHighcharts 多边形标签
【发布时间】:2016-09-19 23:41:58
【问题描述】:

是否可以在多边形图中添加标签?

我想将图例中显示的标签添加到多边形图本身,但我自己不知道该怎么做(如果可能的话)。

编辑:

我像这样使用 dataLabels.formatter 添加了 dataLabel

dataLabels: {
    enabled: true,
    rotation: 45,
    x: 20,
    y: 0,
    formatter: function() {
        if(_.indexOf(this.series.data,this.point) == Math.floor(circle_template.steps * 0.6)) {
            return "TECHIEK";
        }
    },
}

我还使用以下代码添加了旋转:

注意:这不是我创建的,忘记在哪里找到的

function realignLabels(serie) {

    _.each(serie.points, function (j, point) {
        if (!point.dataLabel) return true;

        var max = serie.yAxis.max,
        labely = point.dataLabel.attr('y'),
        labelx = point.dataLabel.attr('x');

        if (point.y / max < 0.05) {
            point.dataLabel.attr({
                y: labely - 20,
                x: labelx + 5,
                rotation: 0
            });
        }
    });
}

Highcharts.Series.prototype.drawDataLabels = (function (func) {
    return function () {
        func.apply(this, arguments);
        if (this.options.dataLabels.enabled || this._hasPointLabels) {
            realignLabels(this);
        }
    };
}(Highcharts.Series.prototype.drawDataLabels));

这将导致:

正如我在 cmets 中所说,我不想使用气泡图,因为我打算像这样绘制这些图:

【问题讨论】:

  • 尝试使用气泡图
  • 我会通过添加一个散点系列来做到这一点,每个多边形(或每个所需的标签)都有一个点,并使用它的dataLabel
  • 我不喜欢仅仅为了拥有标签而在我的图表中添加额外的数据。 @AsadSarwar,我想在我的图表中绘制更多内容,请参阅我的编辑。

标签: highcharts label polygon


【解决方案1】:

当您使用多边形系列时,添加 dataLabels.enabled: true 会将 dataLabels 添加到所有多边形点,而不是一个多边形形状。在这里你可以看到一个例子它是如何工作的: http://jsfiddle.net/s3zp8cce/

您可以使用 chart.renderer.label 为多边形添加标签:

 function(chart) {
    var xAxis = chart.xAxis[0],
      yAxis = chart.yAxis[0];
    chart.renderer.label('Target', xAxis.toPixels(165), yAxis.toPixels(60)).attr({
      zIndex: 10,
      'text-anchor': 'middle'
    }).add()
  }

http://jsfiddle.net/s3zp8cce/1/

你也可以使用泡泡系列,泡泡里面有标签。在这里你可以看到一个例子它是如何工作的: http://jsfiddle.net/cvwf92vj/

【讨论】:

  • 我只需要一个标签,不能使用气泡图,因为我需要在此图上绘制更多内容
猜你喜欢
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多