デジタル推進課

KNIME・Excel Macro・Power Automateなど日々の業務で使用できる自動化ツールを中心に書き綴ります

KNIME - 棒グラフを作るには? - Bar Chart

f:id:makkynm:20201212161244p:plain

 

はじめに

どうも、自動化大好きまっきーです。さて、今まではデータをどう処理するかという部分に集中してきましたが、今回は少し趣向をかえてグラフをKNIMEで作るにはどうすればいいのか。というテーマに移りたいと思います。

テーブルでデータの羅列を見るだけではなかなかデータから何かを見出すというのは難しいですよね。グラフ化を行うことによってデータの羅列から何かしらの気づきを得ることができるようになるでしょう。

 

 今回のテーマ ~Bar Chart~

f:id:makkynm:20201212171237p:plain

今回のテーマ - Bar Chart

f:id:makkynm:20201212165036p:plain

Node Repository - Bar Chart

 

覚えてほしいこと

凡例をつけたい場合はPivotして別コラムとして表示

 

やりたいこと

やれることはいくつかあるのですが、ひとまず下の2点に絞って解説したいと思います。

やりたいこと1

社員ごとの合計残業時間を表示

名前と残業時間の列を使って、社員ごとの合計残業時間を出力します。

f:id:makkynm:20201213085721p:plain

やりたいこと1

やりたいこと2

月毎にグラフを分けて表示

やりたいこと1は全ての月を合計してしまっていたので、月の列を使用して、月毎に棒グラフを分けたいと思います。凡例として月が出てくるイメージです。

f:id:makkynm:20201213085804p:plain

やりたいこと2

事前準備

事前にこんなOutputのテーブルを準備しました。今までのTrainingが習得できていれば、今までのWorkflowをコピペしてから改変するだけで作れると思います。練習問題としてパパッとできるといいですね。

今までのTrainingなんて知らん!って人は、Table Createrで直接下のようなTableを作っていただいてOKです。

f:id:makkynm:20201212172035p:plain

グラフ化する元のテーブル

f:id:makkynm:20201212171544p:plain

グラフ化する元のテーブル(JoinerのOutput)

元のExcelは下の2つです。

f:id:makkynm:20201212171803p:plain

サンプルデータ勤怠表

f:id:makkynm:20201212171848p:plain

サンプルデータ社員表

グラフの出し方

Bar Chartの具体的なConfigtureを解説する前に、グラフの出し方を解説しておきます。

通常のNodeのように右クリックして一番下の項目をクリックしても変数のOutputのみしか出てきません。グラフを出すオプションは3通りあります。

f:id:makkynm:20201215233653p:plain

グラフの出し方1 - 実行前の時

f:id:makkynm:20201215233733p:plain

グラフの出し方2 - 実行後右クリックから選択

f:id:makkynm:20201215233818p:plain

グラフの出し方3 - 実行後アイコンから出す

 


Bar Chartの使い方 - やりたいこと1

グラフ化Nodeはかなり多機能です。なので使いそうな部分に絞って解説しようと思います。

まずは社員ごとの合計残業時間を表示してみたいと思います。

Workflow

f:id:makkynm:20201214002752p:plain

Workflow - やりたいこと1

 

Confirm - Before After

名前を横軸に、残業時間を縦軸にして棒グラフを作成します。

f:id:makkynm:20201213085721p:plain

やりたいこと1

Configure

いくつか設定があるので必須の部分を解説します。

f:id:makkynm:20201214233907p:plain

Configure - Bar Chart - Option
Step1 - Category Column 横軸の設定

まずは横軸につかうコラムをプルダウンから選択します。

下の「Sort bars alphabetically」にチェックを入れると、アルファベット順で並び替えてくれます。チェックを入れないと、テーブルで最初に出てくる順で表示する設定になります。

 

Step2 - Aggregation Method 縦軸の設定

次に縦軸の設定をします。棒グラフなので、数値型のコラムしか選択ができないようになっています。この数値型のコラムをどう計算するかを合計(Sum)と平均(Average)から選べます。

現在コラムは一つしかないので問題ないですが、複数数値型のコラムある場合は棒グラフにしたいコラムを緑色の枠に入れていきましょう。

Occurrence Countはちょっと一言で解説します。

 

チェックしてONにできるちょっとした機能

下の項目をチェックするとちょっとした機能を追加することができます。

Process in memory:メモリを使用するので実行が少し早くなります。その代わりメモリがより必要になります。

Report on missing values:チェックをつけると、欠損値が含まれていた場合に警告が出ます。チェックをつけないと、欠損値は全て無視され、次に出てくるMissing value categoryも使えなくなります。

Include 'Missing values' category:チェックを入れると、横軸に欠損値のみをまとめて示します。

 

Step3 - General Plot Option グラフのプロパティ

ここからは全て必須項目ではなく任意の項目になります。読み飛ばしてもらっても構わないです。

3つ目のタブ”General Plot Option”では、グラフのプロパティのような設定が可能です。

f:id:makkynm:20201218201716p:plain

Configure - Bar Chart - General Plot Option

Title: グラフのタイトル

Subtitle:グラフのサブタイトル

Category-axis label:Step1で設定した軸の名前

Frequency-axis label:Step2で設定した軸の名前

Chart type:Step2で複数コラムを選択した場合の設定。Groupedを選ぶと横に並べ、Stackedを選ぶと上に積み上げた表示になります。

f:id:makkynm:20201218204844p:plain

Chart type option

 

Stagger label:チェックを入れると、Category軸(今回でいう横軸)と軸名の間に余白をとります。各値の名前が長かったときに有効です。

f:id:makkynm:20201218203643p:plain

Stagger label Option

Display legend:チェックを入れると、凡例を上の方に出してくれます。

f:id:makkynm:20201218203842p:plain

Display legend option


Display rich tooltips:チェックを入れると、カーソルをグラフの上に載せると詳細を表示してくれます。

f:id:makkynm:20201218204004p:plain

Display rich tooltips



Plot horizontal bar chart:チェックを入れると、棒グラフの縦向きが横向きになります。

f:id:makkynm:20201218204222p:plain

Plot horizontal bar chart



Display fullscreen button:KNIME serverを使用した時のみ機能するOptionです。Full-screen modeになります。
Show maximum value:チェックをすると、最大値を表示します。

ImageSVGで画像を出力する設定をしたときに有効です。
Show warnings in view:何かしらの警告文が出た場合、View画面に出してくれます。

 

Step4 - Control Options グラフのプロパティをView画面で変更できるようにする

f:id:makkynm:20201218205321p:plain

Configure- Bar Chart - Control Options

Step3のグラフのプロパティの部分は、グラフをViewで確認している間でも変更することができます。変更できるようにするには、このControl OptionをOnにする必要がああります。

f:id:makkynm:20201218205900p:plain

Control Option

Bar Chartの使い方 - やりたいこと2

さて続いてやりたいこと2では複数の棒グラフを表示してみます。Bar Chartの機能は全て上で解説したので、ここでは注意点のみお伝えします。

やりたいこと2は、各社員の残業合計時間を別々のグラフで示すことです。

Workflow

f:id:makkynm:20201218212625p:plain

Workflow - やりたいこと2

Confirm - Before After

ポイントは、別々のグラフで示したい場合は別コラムにする必要がある点です。

f:id:makkynm:20201213085804p:plain

やりたいこと2

Configure - Pivotiong

月毎で凡例として分けたい場合は、別のコラムで値を用意する必要があります。

ここで登場するのがPivotingです。ExcelのPivotと変わりませんね。このNodeが知りたい方は、下記の記事をご覧ください。

degitalization.hatenablog.jp

Pivotの部分はこのようになるはずです。

f:id:makkynm:20201218213322p:plain

Configure - Pivoting

はい、これで月毎でコラムが別れたので続いてBar ChartのConfigureに入ります。

 

Configure - Bar Chart

先ほどとの違いはStep2の縦軸を選ぶ部分だけです。ここで縦軸にしたいコラムを複数選択することで、凡例を作ることができます。

f:id:makkynm:20201218213526p:plain

Configure - Bar Chart - やりたいこと2

 

 ちょっと一言

Occurrence Count を使うと出現回数をカウントして棒グラフにできる

Aggregation Methodのうち、合計や平均ではなく、出現回数をカウントするオプションもあります。これを使用すると、縦軸に使うコラムは選択できなくなります。その代わり、縦軸は出現回数になり横軸で設定した値が出てきた回数をプロットしてくれます。

 

f:id:makkynm:20201215235245p:plain

もう一つのAggregation Method - Occurrence Count 

f:id:makkynm:20201216000135p:plain

出現回数でPlot

 

Interactivity グラフをクリックして操作

上で解説しませんでしたが、 もう一つInteractivityというOptionがあります。

棒グラフではあまり意味を成さないと思いますが、散布図等で使用すると、グラフ上で選択した部分のみをFilteringというような作業が可能になります。

解析するときとかに便利ですよね。まだ私もフル活用したことがない分野です。

f:id:makkynm:20201218210041p:plain

Configure - Bar Chart - Interactivity

 

おわりに

更新遅くなってしまいました!グラフ化までやると解析するという用途にも向いてきますよね。もともと解析できるようにするために作られているソフトなので当然と言えば当然ですが、、

Mac M1についての記事がみなさん気になるようですね。 もしこんなの調べて欲しい等、ご要望あればお答えできる範囲でお答えします。ではまた!

 

 

少しの応援が大変励みになります。

まっきーにOFUSEする

f:id:makkynm:20201219150553p:plain

余談 

昨日1日かけて大掃除を行いました!1年間でかなり汚れ溜まっていましたね、、

掃除道具は山ほど持っているのですが、昨日家全てを大掃除した結果、正直掃除道具は種類が多くなっても使えきれずに終わるなと実感しました。自動化系の記事ばかりですが、大掃除について本気で記事書いてみてもいいなと思った今日この頃です。

また気が向いたら記事書きますね!

 

参考リンク