【问题标题】:Highcharts use legend symbol and legend parms, not scatter marker symbols - in scatter plotHighcharts 使用图例符号和图例参数,而不是散点标记符号 - 在散点图中
【发布时间】:2018-11-13 01:26:12
【问题描述】:

我使用相同的图例设置构建了多个条形图,但它似乎没有转移到散点图。它改为使用图例中的散点标记符号。

我需要标记符号为圆形,图例符号为方形,但不使用自定义图例但似乎无法到达那里

这些是我正在使用的条形图的图例选项。它按预期工作,但是当添加到散点图中时,图例符号选项不会被兑现,而 itemStylecursoralignverticalAlign 是......但图例符号来自散点图标记符号,似乎是链接的。

legend: {
    enabled: true,
    symbolRadius: 0,
    symbolHeight: 16,
    symbolPadding: 15,
    itemMarginBottom: 20,
    itemStyle: {
        fontFamily: chartFont,
        fontWeight: 'normal',
        fontSize
    },
    cursor: 'pointer',
    align: 'left',
    verticalAlign: 'top'
}

标记符号选项在系列数组中定义为:

marker: {
    enabled: true, symbol: 'circle', radius: 15
}

【问题讨论】:

  • 我认为这是一个错误,你应该在Github repo上讨论这个问题
  • @Core972 为什么你认为这是一个错误?这是预期的行为 - 图表将使用适合系列和/或标记类型的符号。我不知道更改图例中符号的配置选项,但可能有一种解决方法......
  • 看看这个话题是否有帮助:stackoverflow.com/questions/16812476/…
  • this 试试散点图。
  • @Core972 给了squareSymbol 一个机会,但没有运气,谢谢

标签: highcharts


【解决方案1】:

为了达到想要的效果,您可以使用从column系列中绘制图例符号的方式,并将symbolRadius设置为0

Highcharts.seriesTypes.scatter.prototype.drawLegendSymbol =
    Highcharts.seriesTypes.column.prototype.drawLegendSymbol;


Highcharts.chart('container', {
    series: [{
        type: 'scatter',
        data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
    }],
    legend: {
        symbolRadius: 0
    }
});

现场演示:http://jsfiddle.net/BlackLabel/4epgLos0/

文档:https://www.highcharts.com/docs/extending-highcharts/extending-highcharts

【讨论】:

  • 在我提供的 sn-p 中,我已经将 symbolRadius 设置为 0。
  • 嗨 james,是的,但是您没有覆盖 scatter 原型中的方法。请查看上面的现场演示。
猜你喜欢
  • 1970-01-01
  • 2021-11-13
  • 2014-09-08
  • 2018-07-21
  • 2018-05-04
  • 2021-12-02
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
相关资源
最近更新 更多