我有一个时间表,需要在一天中的每个小时显示一些计数。 x
数据就像[10/01/2000 00:00, 10/01/2000 01:00, ...]
。为了保持我的x标记清晰易读,我想删除字符串的10/01/2000
部分,,但是数据以完整日期形式出现,并且我还需要在单击栏时保留完整日期。有没有办法做到这一点?d3时间序列刻度格式;显示格式化的标签,但在点击中保留基础日期
2
A
回答
0
你可以使用一个momentjs帮手处理你的日期/时间。
var formatDate = function(date, inputFormat, outputFormat) {
console.log(moment(date, inputFormat).format(outputFormat));
return moment(date, inputFormat).format(outputFormat);
};
formatDate('10/01/2000 01:00', 'dd/MM/YYYY hh:mm', 'hh:mm');
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
0
我觉得d3.time.format在这里很有用。小时分钟在下面使用。
var customTimeFormat = d3.time.format("%H:%M");
var x = d3.time.scale()
.domain([new Date(2000, 01, 10, 0), new Date(2000, 01, 10, 12)])
.range([0, width]);
var xAxis = d3.svg.axis()
.scale(x)
.tickFormat(customTimeFormat);
对于SVG标题显示完整的数据(假设你已经给“x轴”到您的轴的ID)
d3.select('#xaxis')
.selectAll('.tick')
.append("svg:title")
.text(function(d, i) { return d });
对于一个onclick下面将被使用,你可以实现clickMe你想要的。一个简单的警报,以更好看的东西,如http://bl.ocks.org/Caged/6476579
d3.select('#xaxis')
.selectAll('.tick')
.on('click',clickMe)
相关问题
- 1. 在matplotlib中编辑x轴刻度标签的日期格式
- 2. 显示日期基于文化,但基于模式的时间
- 3. 日期时间格式化
- 4. Jasper时间轴日期轴:显示每月刻度但显示年度刻度标签
- 5. 在Javascript中格式化日期时间
- 6. JSON日期格式 - 仅显示时间
- 7. jQuery日期时间格式化程序
- 8. 在d3时间轴上显示其他所有刻度标签?
- 9. 从刻度到日期的格式
- 10. 保留日期样式,而列格式化为文字
- 11. 如何格式化时间标记来显示日期仅在网格视图
- 12. 如何修改D3轴上的刻度和格式标签?
- 13. MPAndroidChart x轴的日期/时间标签格式化
- 14. 格式日期字符串在时刻
- 15. 格式化Solr日期刻面参数
- 16. matplotlib彩条刻度标签格式
- 17. Chartjs X轴标签和刻度格式
- 18. 格式化日期/时间在php 4
- 19. 格式化日期/时间在C#
- 20. 格式化日期和时间在PHP
- 21. Matplotlib日志刻度格式
- 22. 如何格式化DatePicker以显示日期格式日/月/年?
- 23. Python:格式化日期时间,同时将其留作日期时间对象
- 24. 以美国格式保存日期时间并以英国格式显示
- 25. 在PHP中格式化日期格式
- 26. 格式化X轴刻度
- 27. 在表格标签内以小时格式显示日历
- 28. 格式化我的日期时间
- 29. 的OpenERP 6.1日期时间格式化
- 30. Python的日期/时间格式化