简体   繁体   English

nvd3 discreteBarChart y轴标签

[英]nvd3 discreteBarChart y axis label

I am using the following code to set the label in y-axis for discrete bar chart in nvd3 but it doesn't show the label for y-axis. 我使用以下代码在y轴中为nvd3中的离散条形图设置标签,但它不显示y轴的标签。 BTW, x-axis label works fine. 顺便说一下,x轴标签工作正常。

chart.yAxis.axisLabel('Students (in %)');

One thing to watch out for is that if the chart.margin value is too small on the left, there won't be enough room for the label to display. 需要注意的一点是,如果chart.margin值太小,标签就没有足够的空间来显示。 You can either adjust the chart.margin value or move the y-axis label closer to the chart by adjusting the axisLabelDistance option: 您可以调整chart.margin值,也可以通过调整axisLabelDistance选项将y轴标签移近图表:

chart.yAxis
    .axisLabel('Students (in %)')
    .axisLabelDistance(40);

The following works: 以下作品:

nv.addGraph(function() {
  var chart = nv.models.discreteBarChart()
      .x(function(d) { return d.label })
      .y(function(d) { return d.value })
      .staggerLabels(true)
      .tooltips(false)
      .showValues(true)

  chart.yAxis.axisLabel("Students (in %)")

  d3.select('#chart svg')
      .datum(data)
      .transition().duration(500)
      .call(chart);

  nv.utils.windowResize(chart.update);

  return chart;
});

You might have a typo somewhere. 你可能在某个地方有一个错字。

For discrete bar chart, you can customize your chart options as shown below. 对于离散条形图,您可以自定义图表选项,如下所示。 You don't need to use all of this options for creating the chart model in you javascript code. 您不需要使用所有这些选项在javascript代码中创建图表模型。 It is quite enough to set up only the features you want to change and the others will take the default value. 仅设置要更改的功能就足够了,其他功能将采用默认值。

 'use strict'; angular.module('mainApp.controllers') .controller('discreteBarChartCtrl', function($scope){ $scope.options = { chart: { type: 'discreteBarChart', height: 450, margin : { top: 20, right: 20, bottom: 50, left: 55 }, x: function(d){return d.label;}, y: function(d){return d.value;}, showValues: true, valueFormat: function(d){ return d3.format(',.4f')(d); }, duration: 500, xAxis: { axisLabel: 'X Axis' }, yAxis: { axisLabel: 'Y Axis', axisLabelDistance: -10 } } }; $scope.data = [ { key: "Cumulative Return", values: [ { "label" : "A" , "value" : -29.765957771107 } , { "label" : "B" , "value" : 0 } , { "label" : "C" , "value" : 32.807804682612 } , { "label" : "D" , "value" : 196.45946739256 } , { "label" : "E" , "value" : 0.19434030906893 } , { "label" : "F" , "value" : -98.079782601442 } , { "label" : "G" , "value" : -13.925743130903 } , { "label" : "H" , "value" : -5.1387322875705 } ] } ] }) 

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

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