コース: PythonでExcelデータを処理する

レーダーチャートを作成する

Python で Openpyxl を使って グラフを作成していますが、 少し複雑なグラフに進みましょう。 レーダーチャートを作成してみます。 作成したレーダーチャートを 先に見てみましょう。 ゲストルームごとの各曜日の売り上げを レーダーチャートにします。 レーダーチャートですので、 売り上げが多ければ多いほど、 ひとつのチャートの面積が大きくなります。 プログラムを見ていきましょう。 レーダーチャートを作成するには、 openpyxl.chart から RaderChart クラス、 Reference クラスをインポートします。 Reference クラスの オブジェクトを生成する際に、 min_col に max_col=7,min_row=1, max_row= ワークシートの max_row を指定して、 Reference オブジェクトを作成しています。 どの範囲かといいますと、 2列目から7列目 1行目から最終行までです。 次に、変数 labels に Reference クラスのオブジェクトを 生成して代入します。 範囲は水色の曜日の部分です。 RaderChart クラスの オブジェクトを生成し、 チャートのタイプに standard を指定しています。 チャートタイトルに「曜日別売上」、 そして、add_data に 変数 data を渡します。 そして、add_data メソッドに 変数 data を渡して実行します。 set_categories には labels を渡して実行します。 add_chart で チャートを貼り付けます。 一旦、sample6_1 を閉じて、 実行してみます。 先ほど見ていただいたのと 同じグラフですが、 レーダーチャートが作成されています。 chart.type を standard ではなく、 filled にすることで、 チャートを塗りつぶすことができます。 どのようになるか、やってみましょう。 このように、ひとつひとつのチャートが 塗りつぶされています。 レーダーチャートの作り方も これまで見てきた折れ線グラフや 円グラフと同じです。 データとする範囲と ラベルとする範囲を決めて、 チャートオブジェクトの add_data メソッドというデータを set_categories メソッドで ラベルを設定すればよいわけです。

目次