日期格式在x轴文本上的应用
Application of date formatting on x-axis text
我试图将d3.time.format("%b-%Y")
应用于x轴上使用的日期。
var xLabels = svg
.append("g")
.attr("transform", "translate(" + margin.left + "," + (margin.top + height + 12) + ")");
var formatDateOutputX = d3.time.format("%b-%Y");
xLabels.selectAll("text.xAxis")
.data(BarData)
.enter()
.append("text")
.text(function(d) {
return d.dt; //<< returns dates
//return formatDateOutputX(d.dt); //<< NOTHING RETURNED
})
.attr({
'text-anchor': "middle",
transform: function(d, i) {
var x = (i * (width / BarData.length)) + ((width / BarData.length - barPadding) / 2);
var y = 20;
return 'translate(' + x + ',' + y + ')rotate(-90)';
},
dy: "0.35em", //dx: "-1.05em",
'class': "xAxis"
});
上述内容与此可视化的代码285-309行有关:https://plnkr.co/edit/3d5UhM?p=preview
希望有人能帮助,因为这将是一个相当常见的操作,我将想要应用。我做错了什么?
您没有将有效日期传递给formatDateOutputX
,因此它不知道如何处理它。你必须适当地解析这个值,你可以用很多方法来做。因为d3提供了parse
方法到time.format
,这可能是最好的方法。
在你的情况下,像这样的东西将工作:
var formatDateOutputX = d3.time.format("%b-%Y");
var readDate = d3.time.format("%d/%m/%Y").parse;
xLabels.selectAll("text.xAxis")
.data(BarData)
.enter()
.append("text")
.text(function(d) {
return formatDateOutputX(readDate(d.dt));
})
检查普朗克
相关文章:
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- ThreeJS将画布中的文本渲染为纹理,然后应用于平面
- 同一文本框中的验证程序CPF e CNPJ(ASP.NET web应用程序)
- 更改Meteor应用程序文本的多个按钮
- 谷歌应用程序在两个标签之间编写目标文本
- 将文本工具添加到绘制应用程序HTML5画布
- 如何使用jquery检测包装的纯文本并应用html标记
- 如何使用angularjs在剑道网格过滤器文本框中应用电话号码掩码
- iOS cordova应用程序中的文本区域只接受一次输入
- 如何在文本角度上应用最大字数验证
- 如何使用chrome应用程序窗口动态调整文本区域的大小
- jquery移动phonegap应用程序的语音到文本api
- es6javascript推荐使用三元运算符应用模板文本的方法
- 如何为应用深度链接创建超链接文本
- 如何将文本框中的值存储到 asp.net vb.net 应用程序中的 JavaScript 变量中
- 应用文本从图像的高度和宽度
- 从选定的下拉菜单项中应用文本到输入字段(html,javascript)
- 如何在应用文本溢出属性时获取结果文本
- 应用文本输入值到其他空文本字段- jQuery