16

我有一个与这个演示非常相似的柱形图。我想在 Y 轴上显示百分比而不是计数。计数应该显示在每个条形图的顶部。我不想在服务器端计算百分比。我想通过计数值来实现它。请帮忙

 $(function () {
    $('#container').highcharts({
        chart: {
            type: 'column'
        },
        title: {
            text: 'Monthly Average Rainfall'
        },
        subtitle: {
            text: 'Source: WorldClimate.com'
        },
        xAxis: {
            categories: [
                'Jan',
                'Feb',
                'Mar',
                'Apr',
                'May',
                'Jun',
                'Jul',
                'Aug',
                'Sep',
                'Oct',
                'Nov',
                'Dec'
            ]
        },
        yAxis: {
            min: 0,
            title: {
                text: 'Rainfall (mm)'
            }
        },
        tooltip: {
            headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
            pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
            footerFormat: '</table>',
            shared: true,
            useHTML: true
        },
        plotOptions: {
            column: {
                pointPadding: 0.2,
                borderWidth: 0
            }
        },
        series: [{
            name: 'Tokyo',
            data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]

        }, {
            name: 'New York',
            data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]

        }, {
            name: 'London',
            data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]

        }, {
            name: 'Berlin',
            data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]

        }]
    });
});

谢谢

4

5 回答 5

25

你可以这样做:

yAxis: {
  labels: {
    format: '{value}%'
  }
}
于 2017-05-12T19:44:13.450 回答
22

这是我所做的:

yAxis: {
  labels: {
    formatter: function() {
       return this.value+"%";
    }
  },
}
于 2016-05-27T16:01:37.287 回答
9

您可以使用格式化程序http://api.highcharts.com/highcharts#yAxis.labels.formatter并将符号添加到您的标签。

于 2013-06-24T11:08:18.043 回答
5

我所做的是:

yAxis: {min: 0, max:100,tickInterval: 25,
              title: {
                  text: "title"
              },
              labels: {
                  format: '{value}%',
              }
          }
于 2019-09-09T07:06:48.220 回答
5

在绘图选项中使用它,

plotOptions: { column: { stacking:'percent', pointPadding: 0.2, borderWidth: 0 } },

于 2015-08-07T11:37:30.877 回答