在x轴nvd3图表中显示月份 - odoo?

时间:2016-12-19 07:45:55

标签: d3.js charts openerp nvd3.js odoo-8

我创建了一个折线图来显示最近三个月的数据。它工作正常,除了它只在x轴(第一个和最后一个)显示两个日期/月。中点标签不显示。

linechart.js

self.chart = nv.models.lineChart()
            .margin({left:100,botoom:50,top:0})
            .useInteractiveGuideline(true)
            .transitionDuration(350)
            .showYAxis(true)
            .showXAxis(true)
            .showLegend(false)
            .width(220)
            .height(150)

          self.chart.xAxis
            .axisLabel('Month')
            .tickFormat(function(d) {

               return d3.time.format("%b-%Y")(new Date(d)); })

          self.chart.yAxis
            .axisLabel(myData[0].ylabel)
            .tickFormat(d3.format(',.1f'));

          myData = self.data;

数据

[{'y':7L,'x':u'2016-10'},{'y':2L,'x':u'2016-11'},{'y':6L,' x':u'2016-12'}]

图片

enter image description here

1 个答案:

答案 0 :(得分:0)

https://github.com/d3/d3-axis/blob/master/README.md#axis_tickValues

您需要为轴设置tickValues,否则d3将为您生成它们。看一下下面的代码:

if not exist "d:\path to\filename.ext" (dothis)

其中 chart.xAxis .tickFormat(function(d) { return d3.time.format("%m/%d/%y")(new Date(d)); }) .tickValues(_.map(tick_values, function(d) { return getDate(d); })) .rotateLabels(-30); 是一个数组。有关更多信息,请查看上面的文档。