浮点如何知道动态数据中的x轴点 [英] flot how to know the x axis points in dynamic data

查看:62
本文介绍了浮点如何知道动态数据中的x轴点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用flot jquery库绘制图表.

当图表具有特定的列数时,我可以为点设置x值.

但是现在我有一个动态数据.那么我怎么知道x轴的点呢?

例如,

the x axis of the first point is 1325876000000
the x axis of the second point is 1328194400000
the third is 1330360000000
the fourth is 1332838400000

但是可以说我将有9列.我怎么知道他们的x轴?

我以这种方式打印图表

var holder = $('#vertical-chart');

   if (holder.length) {
       $.plot(holder, data, chartOptions);
   }

输入数据是这样的

标签:"label1"

data: [[1325876000000,0],[1325876000000,0],[1325876000000,0],[1325876000000,30]]

但是现在我不知道该数组中有多少个点.它可以是11或2

编辑

此图表选项

  chartOptions = {
           xaxis: {
               min: (new Date(2011, 11, 15)).getTime(),
               max: (new Date(2012, 04, 18)).getTime(),
               mode: "time",
               tickSize: [2, "month"],
               monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
               tickLength: 0
           },
           grid: {
               hoverable: true,
               clickable: false,
               borderWidth: 0
           },
           bars: {
               show: true,
               barWidth: 12 * 24 * 60 * 60 * 300,
               fill: true,
               lineWidth: 1,
               order: true,
               lineWidth: 0,
               fillColor: { colors: [{ opacity: 1 }, { opacity: 1 }] }
           },

           tooltip: true,
           tooltipOpts: {
               content: '%s: %y'
           },
           colors: App.chartColors
       }

解决方案

使用$.plot(holder, data, chartOptions);时,使用变量保存图.

全局声明var plot;

,然后这样调用:plot = $.plot(holder, data, chartOptions);.

您可以像这样从图中获取数据:

var datasets = [];
var xData = [];

datasets = plot.getData();    //this returns an array of all datasets

//goes through each series of data
for (var i = 0; i < datasets.length; i++){
    //picks the series with label of "label 1"
    if (datasets[i].label == "label 1"){
        //copies x coordinates from the series into xData
        for (var j = 0; j < datasets[i].data[j].length; j++){
            xData.push(datasets[i].data[j][0]);               //if you want y coords, use datasets[i].data[j][1]
        }
    }
}

I am using flot jquery library to draw charts.

when my chart has a specific number of columns, I can set the x values for my points.

but now I have a dynmic data. so how can I know the points of the x axis please?

for example,

the x axis of the first point is 1325876000000
the x axis of the second point is 1328194400000
the third is 1330360000000
the fourth is 1332838400000

but lets say that I will have 9 columns. how can I know the x axis for them please?

I am printing the chart in this way

var holder = $('#vertical-chart');

   if (holder.length) {
       $.plot(holder, data, chartOptions);
   }

the input data is like this

label: "label1"

data: [[1325876000000,0],[1325876000000,0],[1325876000000,0],[1325876000000,30]]

but now I don't know how many points in that array. it could be 11 or it could be 2

edit

this the chartoption

  chartOptions = {
           xaxis: {
               min: (new Date(2011, 11, 15)).getTime(),
               max: (new Date(2012, 04, 18)).getTime(),
               mode: "time",
               tickSize: [2, "month"],
               monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
               tickLength: 0
           },
           grid: {
               hoverable: true,
               clickable: false,
               borderWidth: 0
           },
           bars: {
               show: true,
               barWidth: 12 * 24 * 60 * 60 * 300,
               fill: true,
               lineWidth: 1,
               order: true,
               lineWidth: 0,
               fillColor: { colors: [{ opacity: 1 }, { opacity: 1 }] }
           },

           tooltip: true,
           tooltipOpts: {
               content: '%s: %y'
           },
           colors: App.chartColors
       }

解决方案

When using $.plot(holder, data, chartOptions);, save the plot with a variable.

Declare var plot; globally,

and then call like this: plot = $.plot(holder, data, chartOptions);.

You can grab the data from the plot like this:

var datasets = [];
var xData = [];

datasets = plot.getData();    //this returns an array of all datasets

//goes through each series of data
for (var i = 0; i < datasets.length; i++){
    //picks the series with label of "label 1"
    if (datasets[i].label == "label 1"){
        //copies x coordinates from the series into xData
        for (var j = 0; j < datasets[i].data[j].length; j++){
            xData.push(datasets[i].data[j][0]);               //if you want y coords, use datasets[i].data[j][1]
        }
    }
}

这篇关于浮点如何知道动态数据中的x轴点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆