ツイッターのフォロワー数の推移をプロット

[2026-03-31] Togetterの形式が変わっていたので全面的に書き直した。

Twilog の該当者(ここでは)のページの「Stats」をクリックし,ページのソースを stats.html という名前で保存する。

この中に {"date":"2026-03-31","timestamp":1774924064,"followee":765,"follower":38849,"statuses":137075} のような形式でデータが詰まっている。これをまず切り出してCSVファイルに収める。そのためのPythonコードは特に難しくないが、面倒なのでCodexに書いてもらったのが extract_stats_csv.py である。

結果は次のようなCSVファイル。

date,timestamp,followee,follower,statuses
2026-03-31,1774924064,765,38849,137075
2026-03-30,1774837664,765,38846,137074
2026-03-29,1774751264,766,38627,137049
2026-03-28,1774664864,766,38628,137040
2026-03-27,1774578464,766,38635,137010
2026-03-26,1774492064,766,38636,136980
...(後略)...

これをグラフにする。これも最初はCodexに書いてもらったのだが、無駄が多いので、最初から自分で書いた。というか、3行で書けてしまう。

import pandas as pd

df = pd.read_csv('stats.csv', index_col='date', parse_dates=['date'])
df['follower'].plot()
followers

特に今月になってからの動きが知りたい。

df['follower'][df.index >= "2026-03-01"].plot(marker="o")
followers

月末に急増しているが、これは日本語のツイートが自動で英訳されて海外の人のタイムラインにも流されるようになったためらしい。


以下は古い内容

[2023-05-24] TwilogをTogetterさんが統合・再開してくださった。感謝!

[2023-04-06] 2023-04-05の朝、Twilog更新が終了した。今後はフォロワー数も更新されないので、2023-04-05までのデータを使って更新した。

Rで描いたグラフの例:Twitterのフォロワー数のPython版である。

Twilog の該当者(ここでは)のページの「Stats」をクリックし,ページのソースから ar_ を含む部分をコピペする。

var ar_data = [];
ar_data[1] = [...];
ar_data[2] = [...];
ar_data[3] = [...];
ar_data[4] = [...];
ar_data[5] = [...];
ar_data[6] = [...];
ar_data[7] = [...];
ar_data[8] = [...];
var ar_lbl = [];
ar_lbl[1] = [...];
ar_lbl[2] = [...];
ar_lbl[3] = [...];
ar_lbl[4] = [...];
ar_lbl[5] = [...];
ar_lbl[6] = [...];

ここで var ar_data = [];ar_data = {} に,var ar_lbl = [];ar_lbl = {} に書き換える。各行末の ; は不要であるが,あっても問題ないので,消す必要はない。

この後に次のコードを追加して,全体を実行する。

import pandas as pd

t = [pd.to_datetime(x, format="%y%m%d") for x in ar_lbl[6]]
df = pd.DataFrame(index=t, data={'followers':ar_data[7]})
df.plot()
ツイッターのフォロワー数の推移

東日本大震災から数ヶ月だけ急増していることがわかる。その部分:

df[(df.index >= "2011-03-01") & (df.index <= "2011-08-01")].plot(marker="o")
ツイッターのフォロワー数の推移

2019年10月以降:

df[(df.index >= "2019-10-01") & (df.index <= "2019-12-01")].plot(marker="o")
ツイッターのフォロワー数の推移

どうやら10月26日に急増したみたいだ。多分これの影響だろう。

2020年はCOVID-19の影響で増えた:

df[(df.index >= "2020-01-01") & (df.index <= "2020-12-01")].plot(marker="o")
ツイッターのフォロワー数の推移

2021年8月以降:

df[df.index >= "2021-08-01"].plot(marker="o")
ツイッターのフォロワー数の推移

2021-09-01直後に急増している。ひょっとしたらこれだろうか。

2021-11-04にTwitter Proに登録してみたが,その前後で変化はない。

2022-10-27 Elon MuskがTwitter買収し、さまざまな改革を行ったが、フォロワー数に目立った変化なし。2023-01-11 Twitter Blue課金、2023-01-13 認証マーク付くが、特に変化なし。その少し後になぜかフォロワー数が増加し出した:

df[df.index >= "2023-01-01"].plot(marker="o")
ツイッターのフォロワー数の推移

以下は2021-01-01に書いた別のプロットのやりかた:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(t, ar_data[7])
fig.savefig('followers.svg', bbox_inches="tight")

37637バイトのSVGファイルができる。もっと軽くするため,プロット部分だけラスタライズしてみる:

ax.clear()
ax.plot(t, ar_data[7], zorder=-10)
ax.set_rasterization_zorder(0) # zorder < 0 だけラスタライズする
fig.savefig('followers.svg', bbox_inches="tight")

29176バイトに減った。

ツイッターのフォロワー数の推移