さて、引き続き本ブログのWEBサーバのufwブロックログを解析しています。

状況としては1月1日がトップでしたね。

その後、いくつかのIPアドレスをufwのdeny fromでブロックしたせいでしょうかね、
その後、二日目、三日目は落ち着いてきています。

IPブロック数については以下の通り。
特定のロシアのIPアドレスが多い状況でした。


前置きはこれくらいにしておいて、今回はタイトルの件についてやっていきます。

以前の記事では国別のグラフを棒グラフで表示していましたが、
今回はそれを円グラフにしてみました。

それではコードとその結果のグラフをそれぞれ紹介します。


棒グラフの場合

plt.barで表の種類を指定します。

そして引数には、名称、データの順番で指定ですね

  plt.bar(plt_cnt_data,plt_cnt_ydata)

        fig = plt.figure(figsize=(11,6),dpi=72)
        plt.title('国別BLOCK数')

        plt.bar(plt_cnt_data,plt_cnt_ydata)

        path2="/share3/backup/ufwcnt.png"
        plt.savefig(path2)

定番の棒グラフですね。


円グラフの場合

上記に対して、円グラフでは以下のようになります。

plt.pieで表の種類は「bar」ではなく、「pie」となります。

引数の順番も異なります。データ、名称、パーセンテージ指定、オプションで影の有無を指定します。

        fig = plt.figure(figsize=(11,6),dpi=72)
        plt.title('国別BLOCK数')

        plt.pie(plt_cnt_ydata,labels=plt_cnt_data,autopct="%1.1f%%",shadow=True)

        path2="/share3/backup/ufwcnt.png"
        plt.savefig(path2)

まとめ

いかがでしたでしょうか。

このように円グラフにすると、全体に占める割合は明確でカラフルにもなりますね。

しかし、具体的な数値がわかりにくいですね。

表データの表現としては良くても、使う場合は別途資料などで数値は見せる必要はありそうです。