私はこのドーナツチャートをちょっと試してみましたが、ちょうどをアスペクト比/ビューボックス方式でレンダリングしません。レスポンシブルドーナツチャートd3
これはウィンドウのサイズ変更機能で動作しますが、バグがあります。コンテナを折りたたむことができ、間違ってサイズを変更できます。私はこれを回避することができますが、これをコメントアウトしたコードで動作させるためのヒントはありますか?
元のウィンドウサイズに基づいて、チャートはそれに基づいたディメンションを持ちます。開始時にウィンドウのサイズが間違っているとルックを歪ませる可能性があります。
https://jsfiddle.net/7rgf09x1/9/
// WORK IN PROGRESS: Responsive using only d3.
// var svg = d3.select('#revenue-chart').append('svg')
// .attr('id', 'revenue-chart-render')
// .attr("width", '100%')
// .attr("height", '100%')
// .attr('viewBox','0 0 '+Math.min(width,height)+' '+Math.min(width,height))
// .attr('preserveAspectRatio','xMinYMin')
// .attr("transform", "translate(" + Math.min(width,height)/2 + "," + Math.min(width,height)/2 + ")");
を与える必要があります。まだめちゃくちゃ取得 ポリフィルラインが。大きなサイズでは、そのグラフは良好に見えます(グラフがモバイル画面サイズに折り畳まれたときのIE)。しかし、polyfill行はテキストではスケーリングがよくありません(テキストは移動しますが、polyfill行は同じままです)。 実際には、特定のサイズで開始すると正しくレンダリングされます(適切な状態を維持します)。たぶん、私はそれを使用する方法があります。 – Tulun
したがって、通常、私はグラフを作成するために開始コンテナサイズを使用しています。 ビューボウ/アスペクト比属性と組み合わせると、現在のウィンドウサイズにかかわらず、いいスタートサイズ(私の場合は〜780-820幅)を選ぶだけで、見た目がよくなるように見えます。 – Tulun