ライン「以下の」SVGラインがアニメーションとして表示させます[{x: 0, y: whatever}, {x: 0.5, y: another-y-value}, ...]
という形式の別の配列、つまり行を通過する点の集合です。私がしたいのは、描かれているかのようにラインを表示することです。つまり、ラインを瞬時に表示する代わりに、最初のポイントから2番目のポイントまで視覚的に拡張したいと思います。これは、現在(yにxを任意の関数マッピングのために)次のようになります。これを達成する私は棒グラフ上に線を描画するには、次のコードを使用してい
答えて
[ダブル答えのため申し訳ありませんが、この1は@RobertLongsonに入金される]
stroke-dasharray
hereを使用して非常に素晴らしい例があります。以下を追加し、.call(transition)
をパスに追加してください。
function transition(path) {
path.transition()
.duration(7500)
.attrTween("stroke-dasharray", tweenDash)
.each("end", function() { d3.select(this).call(transition); });
}
function tweenDash() {
var l = this.getTotalLength(),
i = d3.interpolateString("0," + l, l + "," + l);
return function(t) { return i(t); };
}
これを閲覧している人のための補助メモとして、この回答は機能しますが、パスが消え、終了するたびにアニメーションが繰り返されます。この効果を取り除くには、 'transition()'関数定義から '.each(" end "、function(){d3.select(this).call(transition);})'を削除してください。 – Bluefire
一つの方法は、clip
に幅が滑らかに遷移0から最大まで長方形のラインであります幅。あなたの<svg>
に以下を追加しますhttp://jsfiddle.net/pLL30tcz/2/
を参照してください。そして、
<defs>
<clipPath id="clipPath">
<rect x="0" y="0" width="0" height="400" />
</clipPath>
</defs>
あなたのパス要素に.style("clip-path","url(#clipPath)")
を使用して行をクリップ。最後に、描画効果は次のようにして達成できます。
d3.select("#clipPath rect")
.attr("width", "0")
.transition()
.duration(4000)
.attr("width","400")
必要に応じて座標を調整するだけで済みます。唯一の欠点は、速度がラインに沿って均一ではなく、x軸に沿ってのみであることで、パスのほぼ水平な部分とほぼ垂直な部分の間に差が見えることです。
これは良いことですが、代替手段がない場合は使用しますが、あたかもその線が描かれているかのようにアニメーションを作成することはありません。線がそれ自身の上を横切るか、または後ろに行く場合、それは機能しません。 – Bluefire
- 1. アンドロイドで線グラフを描画
- 2. 棒グラフを描く
- 3. C#とWPFを使用して折れ線グラフを描画するのに何を使用しますか?
- 4. Chart.jsで描画された線グラフと棒グラフの点を非表示にする方法V2.0
- 5. D3の棒グラフは、私が垂直バーで、D3に描かれたシンプルな棒グラフを持って逆さま
- 6. 描画を使用してグラフを配置する方法は?
- 7. asp.net線グラフを描画する
- 8. iOSで線グラフを描画する
- 9. pandasとmatplotlibを使った棒グラフの上の平均線
- 10. グラフ描画を使用したAndroid描画グラフ
- 11. visjsを使ってタイムラインに線グラフを描くには?
- 12. 私は折れ線グラフを描画することができていますが、「Y」軸上のユーザー定義の値を表示したいchart.jsに</p> <p>を使用して折れ線グラフを描きたいChart.js
- 13. 棒グラフの棒グラフの下にオブジェクト名-cのコアプロットを使用してラベル名を設定する方法は?
- 14. Dc.jsを使用してグループ化された棒グラフを描画することはできますか?
- 15. iphoneでCore Plotフレームワークを使って簡単な折れ線グラフと棒グラフを描く方法は?
- 16. 対話型の縦棒グラフの線を描く
- 17. jQueryのスパークライン:自動ゼロセンタリング私は棒グラフを表示するには、jQueryのスパークラインを使用しています
- 18. OpenGL ES 1.0を使用したAndroid上の描画線
- 19. キャンバスを使用して描画線で遅延を設定するには
- 20. Agalを使用してStage3Dでビットマップに線を描画する方法は?
- 21. 次のように私はspringpythonを使用していたコード
- 22. 私は次のコードを使用してキャンバスに凹形状を描いていますキャンバス
- 23. 私が望む私はキャンバス(HTML 5)を使用して線を描画していますJavascriptを
- 24. matplotlibを使用して棒グラフに範囲の破線のボックスを追加すると暑いですか?
- 25. 積み上げ棒グラフ+折れ線グラフ角度ライブラリ
- 26. ZingChartの線グラフと棒グラフの間に垂直ガイドを揃える方法は?
- 27. JavaScript-は、私は右下隅の1のように、gRaphaelと折れ線グラフを描画したいgRaphael
- 28. gnuplotの折れ線グラフと棒グラフ
- 29. は、私はユーチューブの動画を表示するには、次のコードを使用していシミュレータ
- 30. レールはどの<p></p> 私は 棒グラフを描画するため、レールのフラッシュグラフ/チャートのプラグインを探していますグラフ/チャートプラグイン
これを行うにはストロークダッシュアレイを操作すると、それをカバーする多くの質問と回答があります。 –
0からmaxへの幅の変化がある長方形にクリップするのはどうですか? – tarulen