matplotlibで各月に公開した記事数をプロットしてグラフ化してみる
最初に断っておきます。
微妙な結果に終わりました。
いかんせん「各月に公開した記事数をプロット」というのは地味でしたね。
題材が渋すぎました。
matplotlibで各月に公開した記事数をプロットしてグラフ化してみる
言語はPython、使ったIDEはPycharmです。
まず各月に公開した記事数についてテキストファイルにまとめました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
1,35,2017年8月 2,67,2017年9月 3,27,2017年10月 4,31,2017年11月 5,17,2017年12月 6,23,2018年1月 7,54,2018年2月 8,35,2018年3月 9,33,2018年4月 10,42,2018年5月 11,36,2018年6月 12,31,2018年7月 13,31,2018年8月 14,35,2018年9月 15,15,2018年10月 16,54,2018年11月 17,30,2018年12月 18,57,2019年1月 19,27,2019年2月 20,18,2019年3月 21,28,2019年4月 |
1列目が月数、2列目が公開した記事の数、三列目が対象の年月です。(結果的には三列目の対象の年月は使っていません。理由は後で説明します)
メインの処理はこちらです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt import numpy as np myFile = open("data.txt") line = myFile.readline() x = [] y = [] point = [] while line: data = line.strip().split(",") print(data) print(data[0]) print(data[1]) x.append(int(data[0])) y.append(int(data[1])) point.append(data[2]) line = myFile.readline() myFile.close() print(x) print(y) outputx = np.array(x) outputy = np.array(y) plt.xlabel("date") plt.ylabel("articles") plt.plot(outputx, outputy) plt.show() |
while文で用意したテキストファイルから値を読み込みます。
xが1列目
yが2列目
pointが3列目
です。
続いてxとyをそれぞれnumpyのリストを使ってoutputx、outputyに格納しています。
グラフのxラベルを「date」、yラベルを「articles」としました。
実行した結果がこちらです。
あまり特徴のない図となってしまいました。
相関関係があまりありません。
読み込むデータを「各月に公開した記事数」にしたのはよくありませんでしたね。
もうちょっと特徴のあるデータを読み込むべきでした。
読み込むデータの3列目をグラフを描画する際に使いませんでしたが、これには理由があります。
3列目をx軸に書いてしまうと、文字が重なって文字化けしているような状態になってしまうのです。
こんな風に。(しかも日本語も読み込めてない)
これ以上は細かい調整になりそうだったのでキリの良い出来の状態で終わりにしたいと思います。
妥協って大事です。
終わりに
今回はmatplotlibで各月に公開した記事数をプロットしてグラフ化してみた結果について書きました。
ソースコードはこちらに格納しております。
https://github.com/Chico27/Python-graph-plot
私の今までの成果物はこちらです。
成果物一覧
ディスカッション
コメント一覧
まだ、コメントがありません