Javascript dc.js x-axis将不以月份显示刻度,而是显示小数

Javascript dc.js x-axis将不以月份显示刻度,而是显示小数,javascript,dc.js,crossfilter,Javascript,Dc.js,Crossfilter,我正在使用dc.js构建一个条形图,并希望x轴列出一年中的12个月 到目前为止,我已经将第一个滴答声显示为一天中的某个时间(06 PM),所有后续滴答声显示为小数(千分之一) 我看到了一个类似的问题(),但答案涉及将毫秒转换为更大的单位,这在几个月内是不可能的(据我所知) 这是我的密码。提前谢谢你的帮助 var parseDate = d3.time.format("%m/%d/%Y").parse; data.forEach(function(d) { d.date = parseD

我正在使用dc.js构建一个条形图,并希望x轴列出一年中的12个月

到目前为止,我已经将第一个滴答声显示为一天中的某个时间(06 PM),所有后续滴答声显示为小数(千分之一)

我看到了一个类似的问题(),但答案涉及将毫秒转换为更大的单位,这在几个月内是不可能的(据我所知)

这是我的密码。提前谢谢你的帮助

var parseDate = d3.time.format("%m/%d/%Y").parse;

data.forEach(function(d) {
    d.date = parseDate(d.weekStart);
    d.month = d.date.getMonth();
});

var monthDim = ndx.dimension(function(d) {return d.month;});
var milesByMonth = monthDim.group().reduceSum(dc.pluck('miles'));
//set range for x-axis
var minDate = dateDim.bottom(1)[0].date;
var maxDate = dateDim.top(1)[0].date;

var barChart  = dc.barChart("#myBarChart"); 
barChart
    .width(800).height(200)
    .margins({top: 10, right: 10, bottom: 20, left: 60})
    .dimension(monthDim)
    .group(milesByMonth)
    .gap(40)
    .transitionDuration(1500)
    .yAxisLabel('Miles Per Month')
    .renderHorizontalGridLines(true)
    .x(d3.time.scale().domain([minDate,maxDate]))
    //.x(d3.scale.ordinal())
    //.xUnits(dc.units.ordinal)
    //.x(d3.time.scale().domain([new Date(2012, 0, 1), new Date(2012, 11, 31)]))
    //.round(d3.time.month.round)
    .elasticX(true)
    .elasticY(true);

您的维度键使用的是月份号,而x域使用的是日期。我建议始终使用日期作为维度键,但使用月份作为组键,这样它可以按月份分类,但不会丢失其余信息

var milesByMonth = dateDim.group(function(d) {return d.month;}).reduceSum(dc.pluck('miles'));
barChart.dimension(dateDim)
您应该能够使用轴
.tickFormat()
d3.time.format
来打印月份

差不多

var xAxis = chart.xAxis().tickFormat(d3.time. format('%B');

您可能还需要指定

chart.xUnits(d3.time.months)

我仍然不在那里。使用
var xAxis=barChart.xAxis().tickFormat(d3.time.format(“%B”)添加在我的主要条形图参数之前,我在其中添加了
.xUnits(d3.time.months)它打印12个记号,全部标记为“十二月”。我还尝试了
var xAxis=barChart.xAxis().tickFormat(d3.time.format('%B')).ticks(d3.time.months,12)不会产生任何标签。图表不会使用示例数据呈现任何条形图、x轴记号或y轴记号。现在它只显示轴本身和y轴标签。一般来说,我对dc、d3和javascript都是新手,这几天来我一直在为此绞尽脑汁。我感谢你的耐心。