積み上げ棒グラフの作成

English page

このページでは、積み上げ棒グラフを表示する手順を解説します。

積み上げ棒グラフのプログラムの実行例

1.グラフの元データの作成

Excelのシートに、グラフの元となるデータを入力します。
以下の画像のように、X軸のラベルにする値と、棒グラフとして表示したい値を入力します。

棒グラフの元データの例

2.ブロックの追加

グラフの作成と表示」のページの手順に従って、最低限必要なブロックを追加します。
また、棒グラフを初期化するブロックの後に、「積み上げ棒グラフの高さ計算用バッファをクリア」のブロックをドラッグします。

積み上げ棒グラフの高さ計算用バッファのクリア

3.値のセル範囲に応じて繰り返す

「繰り返し」グループにある、範囲を指定して変数の値を変化させながら繰り返すブロックを使って、値のセル範囲に応じて繰り返しを行います。
上のExcelのシートの場合だと、値はB列(2列目)~D列(4列目)に入っていますので、変数の値を2から4まで1ずつ変化させる繰り返しを使います。

変数の値を2から4まで変化させながら繰り返す

このブロックを、グラフの初期化と、グラフの表示のブロックの間に入れます。

4.棒グラフの作成を繰り返す

繰り返しの中に棒グラフの作成のブロックを入れます。

棒グラフを表示するブロック

そして、先頭のパラメータを、「積み上げ縦棒」または「積み上げ横棒」にします。

このブロックは横に長いので、画面の横幅が狭いと、扱いづらい場合があります。
その時は、ブロックを右クリックして、メニューの「外部入力」をクリックすると、縦長の形に変えることができます。
また、縦長の状態のブロックを右クリックして、メニューの「インライン入力」をクリックすると、横長の形に変えることができます。

また、積み上げる個々の系列の色を別々にして、系列を見分けられるようにします。
「線色」と「内部色」のパラメータに、「論理」グループの「null」のブロックを指定すると、matplotlibのデフォルトの色の組み合わせを使うことができます。

nullのブロック

色を自分で指定したい場合は、繰り返しの前に、「リスト」のグループの「以下を使ってリストを作成」のブロックで、使いたい色のリストを作っておきます。
そして、リストから色を順に取り出した色を、「棒グラフを作成」のブロックの「線色」や「内部色」のパラメータに指定します。

5.事例

色を指定しない場合とする場合との、2つの例を紹介します。

5-1.色を指定しない(matplotlibのデフォルトの色を使う)場合

以下のプログラムは、このページの先頭にあるグラフを表示する例です。
「2.グラフの元データの作成」のところであげたExcelのシートを元に、棒グラフを表示します。

積み上げ棒グラフを描くプログラムの例(色を指定しない場合)

この事例のファイルは、こちらからダウンロードすることができます。
また、この事例で使用しているExcelのデータのファイルは、こちらからダウンロードすることができます。
この事例を実行する際には、Excelであらかじめデータのファイルを開いておきます。

5-2.色を指定する場合

以下のプログラムは、先ほどのプログラムを修正して、色を指定するようにした例です。

積み上げ棒グラフを描くプログラムの例(色を指定する場合)

棒グラフを描く前に、変数line_colorsとinner_colorsに、3つの色が入ったリストを代入しています。
そして、棒グラフを作成する際に、line_colorsとinner_colorsから色を順に取り出して、線色/内部色のパラメータに指定しています。
繰り返しのブロックで変数iを2から4まで順に変化させるので、i-1は1から3まで変化することになります。
この値を使って、リストの1番目、2番目、3番目と順に色を取り出すようにしています。

この事例を実行すると、以下のようなグラフが表示されます。

積み上げ棒グラフを描くプログラムの例(色を指定する場合)の実行結果

この事例のファイルは、こちらからダウンロードすることができます。
また、この事例で使用しているExcelのデータのファイルは、こちらからダウンロードすることができます。
この事例を実行する際には、Excelであらかじめデータのファイルを開いておきます。

6.複数の棒グラフを表示する際の注意点

グラフを初期化するブロックで、縦横どちらかを2以上の数にして、複数の棒グラフを表示することもできます。
その中に積み上げ棒グラフを含む場合は、積み上げ棒グラフを表示した後にも、「積み上げ棒グラフの高さ計算用バッファをクリア」のブロックを入れる必要があります。