【问题标题】:Highcharts basic line chart - Y-axis label nameHighcharts基本折线图-Y轴标签名称
【发布时间】:2020-03-13 23:39:01
【问题描述】:

Highcharts基本折线图,Y轴标签如何显示?

这是我的代码

  var seriesData = [["O", 42], ["N", 35], ["D", 20], ["J", 47], ["F", 45], ["M", 65]];
            var seriesDataY = [['O', 50], ['14', 22], ["D", 30], ["J", 42], ["F", 44], ["M", 65]];

            Highcharts.chart('linechart', {
                title: {
                    text: ' '
                },

                yAxis: {
                    title: {
                        text: '(6 mth period)'
                    },

                    labels: {
                        enabled: true,
                        formatter: function () { return seriesDataY[0][this.value]; },
                    }

                },


                xAxis: {
                    tickInterval: 1,
                    labels: {
                        enabled: true,
                        formatter: function () { return seriesData[this.value][0]; },
                    }
                },

                legend: {
                    layout: 'vertical',
                    align: 'right',
                    verticalAlign: 'middle'
                },

                plotOptions: {
                    series: {
                        label: {
                            connectorAllowed: false
                        },
                        pointStart: 0
                    }
                },

                series: [{
                    name: 'Voluntary',
                    data: seriesData 
                }, {
                    name: 'Involuntary',
                    data: seriesDataY
                    //data: [null, null, 7988, 12169, 15112, 22452]
                }],


                responsive: {
                    rules: [{
                        condition: {
                            maxWidth: 500
                        },
                        chartOptions: {
                            legend: {
                                layout: 'horizontal',
                                align: 'center',
                                verticalAlign: 'bottom'
                            }
                        }
                    }]
                }

            });

附上图片:

缺少Y轴标签:

0, 14, 28,42, 56,70

根据上面的值,我需要显示 Y 轴。显示 Y 轴标签名称的选项是什么?

【问题讨论】:

  • 尝试返回 seriesDataY[this.value][0];对于 Y 轴
  • 目前 yAxis.labels.formatter 回调在您的情况下返回 undefined - 这就是标签不显示的原因。你能解释一下你想用什么来代替基本的 yAxis 值吗?
  • seriesDataY[this.value][0];图表未加载。 Y 轴标签名称 0、14、28、42、56、70。像X轴需要显示O,N,D,J,F,M

标签: highcharts


【解决方案1】:

请注意,yAxis 从数据 y 数字中获取值(this.value)。这就是它与 xAxis 不同的原因。另外,请注意 yAxis 的标签数量计算方式不同,因此必须设置它。

我认为这样的东西应该符合您的要求:

let i = 0;

Highcharts.chart('container', {
  title: {
    text: ' '
  },
...
  labels: {
   enabled: true,
   formatter: function() {

     i++;
     return seriesDataY[i - 1][0];
   },
 }
...

演示:https://jsfiddle.net/BlackLabel/zsou1Lye/

【讨论】:

  • 返回 seriesDataY[i - 1][0];
  • 您是否尝试过刷新页面?在我的情况下,图表第一次没有呈现(我不知道为什么),但在页面重新加载后工作正常。
  • 我发现更好的解决方案是条件检查是否存在值:jsfiddle.net/BlackLabel/j1btdxu7
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多