はじめに
どうも、自動化大好きまっきーです。さて、今まではデータをどう処理するかという部分に集中してきましたが、今回は少し趣向をかえてグラフをKNIMEで作るにはどうすればいいのか。というテーマに移りたいと思います。
テーブルでデータの羅列を見るだけではなかなかデータから何かを見出すというのは難しいですよね。グラフ化を行うことによってデータの羅列から何かしらの気づきを得ることができるようになるでしょう。
今回のテーマ ~Bar Chart~
Workflowは下記からダウンロードできます。
覚えてほしいこと
凡例をつけたい場合はPivotして別コラムとして表示
やりたいこと
やれることはいくつかあるのですが、ひとまず下の2点に絞って解説したいと思います。
やりたいこと1
社員ごとの合計残業時間を表示
名前と残業時間の列を使って、社員ごとの合計残業時間を出力します。
やりたいこと2
月毎にグラフを分けて表示
やりたいこと1は全ての月を合計してしまっていたので、月の列を使用して、月毎に棒グラフを分けたいと思います。凡例として月が出てくるイメージです。
事前準備
事前にこんなOutputのテーブルを準備しました。今までのTrainingが習得できていれば、今までのWorkflowをコピペしてから改変するだけで作れると思います。練習問題としてパパッとできるといいですね。
今までのTrainingなんて知らん!って人は、Table Createrで直接下のようなTableを作っていただいてOKです。
元のExcelは下の2つです。
グラフの出し方
Bar Chartの具体的なConfigtureを解説する前に、グラフの出し方を解説しておきます。
通常のNodeのように右クリックして一番下の項目をクリックしても変数のOutputのみしか出てきません。グラフを出すオプションは3通りあります。
Bar Chartの使い方 - やりたいこと1
グラフ化Nodeはかなり多機能です。なので使いそうな部分に絞って解説しようと思います。
まずは社員ごとの合計残業時間を表示してみたいと思います。
Workflow
Confirm - Before After
名前を横軸に、残業時間を縦軸にして棒グラフを作成します。
Configure
いくつか設定があるので必須の部分を解説します。
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”では、グラフのプロパティのような設定が可能です。
Title: グラフのタイトル
Subtitle:グラフのサブタイトル
Category-axis label:Step1で設定した軸の名前
Frequency-axis label:Step2で設定した軸の名前
Chart type:Step2で複数コラムを選択した場合の設定。Groupedを選ぶと横に並べ、Stackedを選ぶと上に積み上げた表示になります。
Stagger label:チェックを入れると、Category軸(今回でいう横軸)と軸名の間に余白をとります。各値の名前が長かったときに有効です。
Display legend:チェックを入れると、凡例を上の方に出してくれます。
Display rich tooltips:チェックを入れると、カーソルをグラフの上に載せると詳細を表示してくれます。
Plot horizontal bar chart:チェックを入れると、棒グラフの縦向きが横向きになります。
Display fullscreen button:KNIME serverを使用した時のみ機能するOptionです。Full-screen modeになります。
Show maximum value:チェックをすると、最大値を表示します。
Image:SVGで画像を出力する設定をしたときに有効です。
Show warnings in view:何かしらの警告文が出た場合、View画面に出してくれます。
Step4 - Control Options グラフのプロパティをView画面で変更できるようにする
Step3のグラフのプロパティの部分は、グラフをViewで確認している間でも変更することができます。変更できるようにするには、このControl OptionをOnにする必要がああります。
Bar Chartの使い方 - やりたいこと2
さて続いてやりたいこと2では複数の棒グラフを表示してみます。Bar Chartの機能は全て上で解説したので、ここでは注意点のみお伝えします。
やりたいこと2は、各社員の残業合計時間を別々のグラフで示すことです。
Workflow
Confirm - Before After
ポイントは、別々のグラフで示したい場合は別コラムにする必要がある点です。
Configure - Pivotiong
月毎で凡例として分けたい場合は、別のコラムで値を用意する必要があります。
ここで登場するのがPivotingです。ExcelのPivotと変わりませんね。このNodeが知りたい方は、下記の記事をご覧ください。
Pivotの部分はこのようになるはずです。
はい、これで月毎でコラムが別れたので続いてBar ChartのConfigureに入ります。
Configure - Bar Chart
先ほどとの違いはStep2の縦軸を選ぶ部分だけです。ここで縦軸にしたいコラムを複数選択することで、凡例を作ることができます。
ちょっと一言
Occurrence Count を使うと出現回数をカウントして棒グラフにできる
Aggregation Methodのうち、合計や平均ではなく、出現回数をカウントするオプションもあります。これを使用すると、縦軸に使うコラムは選択できなくなります。その代わり、縦軸は出現回数になり横軸で設定した値が出てきた回数をプロットしてくれます。
Interactivity グラフをクリックして操作
上で解説しませんでしたが、 もう一つInteractivityというOptionがあります。
棒グラフではあまり意味を成さないと思いますが、散布図等で使用すると、グラフ上で選択した部分のみをFilteringというような作業が可能になります。
解析するときとかに便利ですよね。まだ私もフル活用したことがない分野です。
おわりに
更新遅くなってしまいました!グラフ化までやると解析するという用途にも向いてきますよね。もともと解析できるようにするために作られているソフトなので当然と言えば当然ですが、、
Mac M1についての記事がみなさん気になるようですね。 もしこんなの調べて欲しい等、ご要望あればお答えできる範囲でお答えします。ではまた!
少しの応援が大変励みになります。
余談
昨日1日かけて大掃除を行いました!1年間でかなり汚れ溜まっていましたね、、
掃除道具は山ほど持っているのですが、昨日家全てを大掃除した結果、正直掃除道具は種類が多くなっても使えきれずに終わるなと実感しました。自動化系の記事ばかりですが、大掃除について本気で記事書いてみてもいいなと思った今日この頃です。
また気が向いたら記事書きますね!
参考リンク
- KNIME公式Node Pit(英語):
Bar Chart (JavaScript) — NodePit
- KNIME Example Workflow(英語):
Bar Chart Examples – KNIME Hub