2016-10-06 20 views
1

D3.js(バージョン4)でアニメーションを作成することはできますか?特に、私は、複数の折れ線グラフを作成することに反応-fusionchartと、この例のように左から右へ、「実行」:D3.js(v4)による線グラフのアニメーション?

http://jsfiddle.net/thadeuszlay/m18qaekm/12/

(。ただ、上記の例を見てください)

FusionCharts.ready(function() { 
    var myDataSource = { 
     "chart": { 
      "caption": "Actual Revenues, Targeted Revenues & Profits", 
       "subcaption": "Last year", 
       "xaxisname": "Month", 
       "yaxisname": "Amount (In USD)", 
       "numberprefix": "$", 
       "theme": "ocean" 
     }, 
      "categories": [{ 
      "category": [{ 
       "label": "Jan" 
      }, { 
       "label": "Feb" 
      }, { 
       "label": "Mar" 
      }, { 
       "label": "Apr" 
      }, { 
       "label": "May" 
      }, { 
       "label": "Jun" 
      }, { 
       "label": "Jul" 
      }, { 
       "label": "Aug" 
      }, { 
       "label": "Sep" 
      }, { 
       "label": "Oct" 
      }, { 
       "label": "Nov" 
      }, { 
       "label": "Dec" 
      }] 
     }], 
      "dataset": [{ 
      "seriesname": "Projected Revenue", 
       "renderas": "line", 
       "showvalues": "0", 
       "data": [{ 
       "value": "15000" 
      }, { 
       "value": "16000" 
      }, { 
       "value": "17000" 
      }, { 
       "value": "18000" 
      }, { 
       "value": "19000" 
      }, { 
       "value": "19000" 
      }, { 
       "value": "19000" 
      }, { 
       "value": "19000" 
      }, { 
       "value": "20000" 
      }, { 
       "value": "21000" 
      }, { 
       "value": "22000" 
      }, { 
       "value": "23000" 
      }] 
     }] 
    }; 

    var chartConfigs = { 
     id: "revenue-profits-chart", 
     renderAt: "revenue-profits-chart-container", 
     type: "mscombi2d", 
     width: 600, 
     height: 400, 
     dataFormat: "json", 
     dataSource: myDataSource 
    }; 

    React.render(< react_fc.FusionCharts {...chartConfigs 
    } 
    />, 
     document.getElementById("chart-container") 
    ); 
}); 
+0

DuckDuckGoレスキュー:http://big-elephants.com/2014-06/unrolling-line-charts-d3js/ – Owen

+0

@Owenはv4ではなく、OPへの回答はまだ「はい」です – azium

+0

@thadeuszlayあなたが自分でラインチャートを作成しようと努力したことを示したことは素晴らしいことでした。結局のところ、v3からv4への単純な更新であり、d3を管理する人々が折れ線グラフの遷移を維持することを信頼することができました。 –

答えて

3

はい、あなたはそれを行うことができます:あなただけV4にD3のV3から変更されている方法を交換する必要がある、など:

var parse = d3.timeParse("%b %Y"); 
var x = d3.scaleTime().range([0, width]), 
    y = d3.scaleLinear().range([height, 0]), 
    xAxis = d3.axisBottom(x).tickSize(-height), 
    yAxis = d3.axisLeft(y).tickArguments(4); 

等等

working example on my bl.ocksが見つかります。 私の例は、another bl.ocksのv4アップデートです。 希望に役立ちます。

+0

「カーテン」がないアプローチはありますか? 1つのグラフ内で異なるグラフを使用したい場合、どうすればよいでしょうか。下から上へアニメーション化された棒グラフ、左から右への折れ線グラフ? – thadeuszlay

+0

はいあります:)ラインの長さをアニメートすることができます。これは実際はより良いアプローチですが、最初に言及したケースではそれを必要としませんでした。ラインのアニメーション化については、この記事(http://blog.liftoffllc.in/2016/07/animated-line-graphs-using-d3.html)をお読みください。 d3 v4のメソッドに再度更新する必要がありますが、あまり難しくありません。 –

+0

提案をありがとう! – thadeuszlay

関連する問題