簡體   English   中英

浮點動畫從一條點到另一條的垂直線

[英]Flot animating a vertical line from one point to other

我陷入了一個問題。 你們可能已經在許多應用程序中看到了像掃描儀一樣的動畫線條。 好吧,我做了類似的事情,但我需要在圖中。

我真正需要的是,我需要畫一條垂直線,該線會自動從一個點移動到另一個點。

讓我給您更多的解釋:1.我有一個按鈕2.我按下按鈕,然后出現圖形區域。 3.在圖形區域上,一條垂直線滾動通過該區域,就像它正在掃描該區域一樣。

我可以畫線,但是有點傾斜。 下面提供了其背后的邏輯:

for(i=0;i<frequencyArray.length;i++){
                 myTestArray2.push([i,outFrequencyArray[i]]);
            }

plot.setData([
              {data:myTestArray2,lines:{fill:false,lineWidth:3},shadowSize:10}
                    ]);

function setUpflot(){
            // setup plot

             //console.log("setUpflot");
             var options = {
                // series  : { shadowSize: 0, splines: {show:true,lineWidth:1}},
                 series  : { },

                 yaxis   : { ticks: 5, tickColor:"rgba(148,129,151,0.5)", min: minGraphY, max:maxGraphY,show: true},
                xaxis   : { tickLength:0,  show: false },
                grid    : { borderWidth:0,markings:[
                                {yaxis: { from: 200.0, to: 240.0 },color: "rgba(140,2,28,0.5)"}
                        ]}
             };

我將其匯總以回應昨天的評論。

在這里擺弄。

產生:

在此處輸入圖片說明

plot = $.plot($("#placeholder"),
  [ { data: someData} ], {
  series: {
    lines: { show: true }
  },
  crosshair: { mode: "x" }, // turn crosshair on
  grid: { hoverable: true, autoHighlight: false },
  yaxis: { min: -1.2, max: 1.2 }
});

crossHairPos = plot.getAxes().xaxis.min;
direction = 1;

setCrossHair = function(){
   if (direction == 1){
     crossHairPos += 0.5;   
   }
   else
   {
       crossHairPos -= 0.5;
   }
   if (crossHairPos < plot.getAxes().xaxis.min){
       direction = 1;
       crossHairPos = plot.getAxes().xaxis.min;
   }
   else if (crossHairPos > plot.getAxes().xaxis.max)
   {
       direction = 0;
       crossHairPos = plot.getAxes().xaxis.max;
   }
  plot.setCrosshair({x: crossHairPos})
  setTimeout(setCrossHair,100);
}

// kick it off
setTimeout(setCrossHair,100);
var frequencyIndex = 0; //dynamic values stored intialised with 0.
var outFrequencyArray = [];

for(i=0;i<totalPoints;i++){

              outFrequencyArray.push(minGraphY-1);
          } 


opd=Math.tan(Math.PI/2);
outFrequencyArray.splice(frequencyIndex,0,opd);
frequencyIndex++;
for(i=0;i<frequencyArray.length;i++){
myTestArray2.push([i,outFrequencyArray[i]]);
        }

plot.setData([
          {data:myTestArray2,lines:{fill:false,lineWidth:3},shadowSize:10}
                ]);

function setUpflot(){
        // setup plot

         //console.log("setUpflot");
         var options = {
            // series  : { shadowSize: 0, splines: {show:true,lineWidth:1}},
             series  : { },

             yaxis   : { ticks: 5, tickColor:"rgba(148,129,151,0.5)", min: minGraphY, max:maxGraphY,show: true},
            xaxis   : { tickLength:0,  show: false },
            grid    : { borderWidth:0,markings:[
                            {yaxis: { from: 200.0, to: 240.0 },color: "rgba(140,2,28,0.5)"}
                    ]}
         };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM