隗より始めよ

今後はいろいろ考え始めます。

matplotlibでx軸の重なりを直したい!

こんにちは。可視化ツールってたくさんあって、中々どれが良いか決めにくいですね。

わたしも何やかんや色々使ってみていて、Bokehがお気に入りなのですがちょっと重いしなーとか小賢しいことをいい始めた今日この頃です。

でも最近読み始めた機械学習の本でmatplotlibが使われており、その人の書いている通りにグラフを作るとサクサクと書けて良いのです。というわけで、朝作ったトランプ政権の支持率はmatlotlibを使って書いてみました。

しかし・・・ 以前思い悩まされた問題に直面しました。

それは、

X軸の日付が重なる問題です!!!

具体的にお見せすると

f:id:mazarimono:20180601102914p:plain

こういうやつです。

解決策はplt.setp()を使うということでした。

stackoverflow.com

fig = plt.figure()
ax = plt.subplot()
ax.plot(df)
plt.setp(ax.get_xticklabels(), rotation=0)

plt.tight_layout()
plt.show()

なんで英語やねんということですが、日本語でググっても、私見た範囲では出てこなかったんです・・・・ 。なんで記事にもしているのですけど。(自分の忘備録って役割が大きいですが、しかしこの英語の記事のタイトルも面白いw)

するとちゃんとこのように表示されます。左はrotation=0、右はrotation=30。rotation=0なら難も入れなくても大丈夫やろと思うかもしれませんが、私のjupyternotebookだけかもしれませんが、エラーコードではないようですが、文字がたくさん吐き出されたので、0を入力しています。

f:id:mazarimono:20180601103852p:plain

そんなこんなでトランプ政権の支持率の可視化がmatplotlibを使ってできました。

mazarimono.hatenadiary.jp

可視化ツールに関しては色々ありますが、普段使いは頑張って書かなくてもチャっと出来るみたいなんが良いかなーと思っています。半面ブログにのせたりするのはやはりボケとかハイチャーツがきれいで良いかなぁ。マットプロットリブも使いこなせればきれいにできるのでしょうけどw