我尝试使用angular-nvd3
开发多图表。
图表工作正常,我可以获取数据并显示我需要的值。我现在遇到的问题是,我想在x-axis
显示某些特定值,但出于某种原因,我无法做到。
这是我到目前为止所得到的:http://codepen.io/NickHG/pen/rLWNea?editors=1010
图表选项如下:
chart: {
type: 'multiChart',
height: 450,
margin: {
top: 10,
right: 40,
bottom: 60,
left: 30
},
useInteractiveGuideline: false,
transitionDuration: 10,
style: 'expand',
tooltip: {
keyFormatter: function(d, i) {
return "Test";
}
},
zoom: {
enabled: true
},
xScale: x_scale,
xAxis: {
ticks: 14,
domain: [0, 14],
axisLabel: '',
tickFormat: function(d) {
return d3.time.format('%H:%M')(new Date(d * 1000));
}
},
Axis1: {
axisLabel: '',
axisLabelDistance: -100
}
}
我想要实现的是一个X轴,每小时都来自00:00 to 23:00
(我还试过这个,但没有运气:how to use d3.time.scale to create label for each hour of day and each day of week)
x轴的想法是我应该能够显示小时,天或周,但我想一旦我正确理解如何显示小时数,我应该能够弄清楚自己如何打印值不同的格式。
感谢您的帮助
答案 0 :(得分:0)
你几乎一直都在那里。你需要修改的所有内容是x轴上的刻度数从6到24 ....
nv.addGraph(function() {
chart = nv.models.multiChart()
chart.margin({"left":5,"right":5,"top":10,"bottom":20})
chart.showLegend = true
chart.xAxis
.scale(xAxisScale())
.ticks(24) //--> changed from .ticks(6)
.tickFormat(d3.time.format("%H:%M"));
见Updated pen。干杯!