〜CSVファイルからグラフを作成する!〜ベル気付けばなかなかの長編になってきました。これまでに作成してきた『CSVファイルを使ってグラフ作成』を行っていきます。CSVファイルの作成は、解析していく上で大変利用しやすいですが、ユーザに見せるのはかなり辛いものがあります。それをグラフ化してわかりやすい形にしてあげるのも、大切はスキルだと思います。最後まで勉強していきましょう!これまで、PythonのインストールからCSVファイルの作成、ログの定期取得までを学習してきました。どれもな使って学習していきますので、『やり逃した!』、『忘れちゃった!』って方は、こちらからお願いします。まとめmatplotlib、pandasを使おうそれでは、授業を始めます。今回、使用するモジュールは、『matplotlib』、『pandas』です。matplotlibは、pythonのグラフ化でもっとも有名なモジュールになります。今回だけに限らず、触れる機会もあると思いますので、覚えておきましょう!また、pandasとは、データ解析用モジュールでCSVファイルなどを読み込んで加工したりするによく使われます。これも覚えておきましょうね!モジュールのインストールとインポートそれではいつも通りモジュールのインストールから始めましょう!コマンドプロンプトを立ち上げて以下のコマンドを入力してください。matplotlibこれだけですね。インストールが終わったらいつも通りインポートしていこうと思いますので、ATOMを立ち上げて対象のPythonファイルを立ち上げてください。立ち上がってきたら、以下のコードを追記してください。plt今回、importの後ろに『as』がありますが、これは別名で使用することを可能とするオプションになります。後で、別名で使用する際に改めて解説しますので、忘れないでくださいね。ボタンの追加と配置それでは、グラフ化を実行するためのボタンを作成・配置していこうと思います。前回の授業でTkinterを使って『OK』と『Close』の2つのボタンを作成しましたが、3つ目のボタン『GRAPH』を作成したいと思います。それに伴って『OK』ボタンでは、なんのことだかわからなくなるので、『CSV』に変更しておきます。command=root.destroy)今回作成した『GRAPH』ボタンには、関数『bar』を実行するように紐づけます。前回の『CSV』ボタンで関数『foo』を実行させるように紐づけたのと同じなのでわかりますね。見た目的に左から『CSV』、『GRAPH』、『Close』の順番に表示したいため、『button』番号もわかりやすく変更しておこうと思います。以下のような表示になるように作成していこうと思います。ボタンの配置それでは、作成したボタンを配置していきましょう。これも前回と同様なので、以下のコードで確認だけしておいてください。button3.grid(row=2,column=3,sticky=E)グラフの作成それではグラフを作成していきましょう。以下のコードで確認してください。bar():』で始めます。t.get()』を使用します。これで入力された日付を変数『days』に代入してCSVファイルを読み込みます。その読み込みにしようするモジュールが『pandas』になります。『pd』と書かれているのは、インポート時にモジュール呼び出しを別名にしたと思います。その別名を使ってモジュールを呼び出すように変更しています。呼び出す際にファイルの1列目を『num1』、2列目を『num2』として読み込むようにしています。次に『num1』、『num2』を使ってグラフを作成するように『plt.plot(df[‘num1’],df[‘num2′],marker=’o’)』と書いています。最後の『marker=’o’』でグラフのデータの値を円マークすることができます。このマークは、円以外にも星(’★’)や点(’.’)、四角形(’4’)など多くのマークがありますので、お好みで選んでください。グラフの調整ここまで出来たらグラフを作成することができますので、表示させてみてください。こんな画面ができていたら成功です。「あれ?見づらいなぁ」って思いましたよね?これは時間表示がmsec単位まで表示されていることが原因となります。グラフの表示画面が小さいため文字がつぶれてしまっているのも原因かと思います。その辺の調整をしてみますね。文字数の変更X軸に表示している時刻がmsecまで表示されているため、文字がつぶれてしまっています。これを秒までしか表示しないように変更していきます。以下のコードをCSVファイルに書き込む前に入れるだけで、左から8文字まで(00:00:00)だけに加工することが可能となります。tm[0:8]表示画面の指定matplotlibで簡単に表示の画面サイズも変更できるんです。以下のコマンドで縦(300ピクセル)×(1200ピクセル)の画面表示に変更することができます。plt.figure(figsize=(12,3))使用されるグラフの精度に応じて、このサイズを変更して見やすくなるように調整してみてください。これだけの調整で以下のような画面に変わったと思います。これでグラフ化が完成しました。これ以外にもX軸・Y軸にタイトルを入れたり、X軸の時間を斜めに書くなどしてより見やすい画面に変更するなど、いろんなことができるようになっています。試してみてグラフに合わせて調整してみてください。素敵なグラフが作成できると思います。コードの紹介それでは、最後に今回作成したコードを紹介させていただきます。参考にしてみてもらえればと思います。pady=5)root.mainloop()まとめベルPythonでログ解析は、いかがだったでしょうか?僕自身もPythonを初めて使ってみて勉強しながらの授業でしたので、至らない点も多々あったかと思います。コード自体も例外処理もしてないですし、プログラマーから見たら読みづらいコードもありますが、今後、勉強していく中でアップデートしていきますので、また、遊びに来てください。23:44時点)商品紹介ネットワークエンジニアとして仕事していく上で、必要となる商品を紹介させていただいています。よかったら、こちらも読んでみてください。対して1件のコメントがあります。コメントをキャンセルメールアドレスが公開されることはありません。technology.%d人のブロガーが「いいね」をつけました。