Flotr2 时间模式(以季度为单位)
Flotr2 time mode in quarters
我正在使用Flotr2并取得了巨大的成功。现在我们用时间模式实现了它。这就像一个魅力。但现在客户只想显示季度(即 20013-1、2013-2)。
现在,Flotr2 会自动缩放数据以适合图形。但是因为没有一个季度是相同的大小,所以失败了。
所以我的问题是,是否可以在 Flotr2(在 x 轴上)中添加四分之一。如果是这样,在宇宙中是否有我没有找到的例子?
最好的解决方案是使用 xaxis 刻度选项,并结合刻度格式化程序:
xaxis: {
ticks : [],
tickFormatter: function () {}
}
编写一个函数来返回一个季度开始日期数组,或范围中的位数等。 它们应该在毫秒中。
然后,格式化程序可以输出您要查找的日期格式,如上所述。
好吧,
它不是 100% 令人满意,但它"有效"
对于折线图,我删除了时间模式并添加了可以更改noTicks: 12
,但由于时间的性质(主要是月份),没有相同的大小,这变得非常需要,因此 xaxis 标签工作正常。
接下来,我在轴上添加了一个tickFormatter
x轴设置:
xaxis:{
noTicks: 15,
tickFormatter: function (x) {
var d = new Date(parseInt(x));
var month = d.getMonth();
if (parseInt(month / 3) == month / 3) {
return msToYearQuarter(parseInt(x));
}
return '';
}
},
为了将毫秒转换为"年季度",我做了一个简单的函数
function msToYearQuarter(ms) {
var date = new Date(ms);
var quarter = (date.getMonth() / 3) + 1;
var year = date.getFullYear();
return year + '-' + quarter;
}
相关文章:
- 如果宽度是百分比,如何设置以px为单位的图像高度
- 如何将datetime转换为以毫秒为单位的epoch时间javascript
- 每小时倒计时一次,但以30分钟为单位
- 以天为单位计算年龄-Javascript
- 是否可以使用javascript获取以em为单位的窗口宽度
- 获取以屏幕像素为单位的旋转SVG元素的边界
- GridStack项的高度和宽度(以像素为单位)
- 有没有一种方法可以检查javascript以毫秒为单位执行一个函数需要多长时间
- JQPlot's仪表-以针为单位显示值
- Moment.js unix时间戳,以分钟为单位显示以前的时间
- 从Javascript到C#获取正确的日期(以毫秒为单位)
- 远距离变换元素的宽度/高度(以像素为单位)
- jquery匹配以px为单位的样式字体大小的元素
- 以周为单位计算日期差异(Javascript)
- 以非像素为单位获取HTML DOM元素的CSS高度,在我的例子中是英寸
- Three.js从相机中提取以弧度为单位的旋转
- 为什么setInterval不是以千毫秒为单位
- JavaScript-从HTML img src中获取以字节为单位的大小
- 使用本地存储以毫秒为单位占用时间
- Flotr2 时间模式(以季度为单位)