web-dev-qa-db-ja.com

円レーダーチャートの作り方

次の例のように、8つのセクターを持つExcelで円形チャートを作成したいと思います。

enter image description here

円グラフのようにパーセンテージを表すのではなく、レーダーチャートのように実際の値が必要です。

マクロを使わなくても可能ですか?

12
KirdApe

このウォークスルーは Andy Popeの元のチュートリアル に基づいています。これが最初のデータだとしましょう。チャートを作成する前に行うデータ操作が少しあります。

values

あなたの例では、すべてのセクターを同じサイズにする必要がありますが、物事を柔軟にし、セクターの重み列に追加しましょう。たとえば、「WORK」を2倍、3倍、4倍のサイズのスライスとして表示したい場合は、セクターの重みを2/3/4などに変更します。

sector weights

次に、各セクターがカバーする必要があるスライス比率を計算する必要があります。 「セクターの重み」をすべてのセクターの重みの合計で割って、「360%」という列を追加します。

_=C2/SUM($C$2:$C$9)  
_

次に、各セクターがカバーする開始角度と終了角度を計算する必要があります。 「開始角度」列を追加します。上の行に0を入力し、下の行ごとに上のセルを参照します。

「Finish Angle」列で、「360 of%」の累積値に360を掛けます。

Start/Finish Angles

レーダーチャートを円グラフであると見なすコツは、円の360度ごとにデータポイントを作成することです。

テーブルを拡張して、各角度の列(この例では灰色で網掛け)を追加します。セルごとに、その列の角度が開始/最終角度でカバーされているかどうかをチェックするロジックを追加します。カバーされている場合は、その行の値を返します。これを、0〜360度のすべての行と列にコピーしてください。

_=IF(AND(G$1>=$E2,G$1<=$F2),$B2,0)
_

enter image description here

(注-Excel 2003以前を使用している場合、このメソッドで使用される列の数は古いバージョンのExcelで許可されている数よりも多いため、このテーブルを上下反転してテーブルが縦(転置)になるようにする必要があります。)

これでチャートについて考えることができます。柔軟性を高めるために、最終的な角度と0〜360度の間に「グラフラベル」列を追加しましょう。列Aのタイトルを参照しますが、ここでそれらをカスタマイズすることもできます。

chart labels

「Chart Labels」の下のすべてのセルと0〜360列(この例ではG2:ND9)を選択します。チャートを挿入します-レーダーチャートオプションの下で、最後のチャートを選択します-"塗りつぶしレーダー"。あなたはこれを手に入れます。

enter image description here

凡例と円形のデータラベル(黄色で強調表示)を削除します。残りの軸を右クリックして、「軸のフォーマット」を選択します。主単位を10(最大値)に固定し、副単位を1に固定します。ダイアログボックスを閉じてから、グラフの軸番号を削除します。

主および副水平グリッド線をオンにします。

circular gridlines

これで、グラフは次のようになります。

enter image description here

主グリッド線の線の太さを2ptに設定し、外側の円の境界線を黒にします。セグメントにマイナーグリッドラインを表示する場合は、各セグメントの塗りつぶしの色を変更し、透明度を設定する必要があります(透明度を約20〜40%にする必要があります)。

enter image description here

放射状セグメントの境界を取得するには、新しいシリーズを追加する必要があります。タイトルをセルC1(「セクターの重み」)に設定し、値を列C(C2:C9)の行に設定します。水平カテゴリ軸ラベルをグラフラベル(G2:G9)に設定します。

この新しいシリーズのグラフの種類を円グラフに変更します。パイセグメントの塗りつぶしを削除し、黒い境界線を追加します。円系列のデータラベルを追加し、値の代わりにカテゴリ名を選択して、位置を「外側の端」に設定します。

enter image description here

EDIT(Sep 30 2014):ワークブックは ここからダウンロードできます Fireeからの要求に応じてです。

EDIT 2(2015年3月25日):Mihajlo は、この手法を少し改善できることを指摘しています:

グラフは、反時計回りにわずかにシフトします(上記の最後のグラフで見られるように、赤は垂直にギャップがありますが、境界は300度でカバーされています)。これは、スパイダーチャートが常に1つ後ろにあるためです(つまり、1度が2、2が3でプロットされるなど)。

これをすばやく修正するには、仕上げ角度(F2)の式を=360*SUM($D$2:D2)から=360*SUM($D$2:D2)+1に変更し、最後のシリーズの最初の点の式を最後の系列の最後の点(上記の例では、セルH9の数式を= ND9にします。

26
Andi Mohr