xkcdとは
世界一で最も人気のあるウェブ漫画の一つです
- ランダル・マンローが2005年9月に開設
- 皮肉や風刺が得意。理系ネタが結構多い。
- 現在は週3回更新されている
- キャラやフォントが特徴的
これとか皮肉が効いてていいですね!好きです
A : 寝ないの?
B : 寝られないんだ、大事なことがある
A : なによ?
B : 誰かがインターネットでボロを出してるんだ
実はmatplotlib
を使えば、グラフをxkcd風に仕立てられます。しかもたった一行で!今回はその紹介をします
matplotlibで、xkcd
requirement
matplotlib > 1.3.x
matplotlibってなんだ、そもそもpython環境ないぞという人は下記記事を参考にどうぞ
Windows10でちょっとしたpythonコードを使う環境を作る、その① -- AnacondaとPycharm - プロクラシスト
Windows10でちょっとしたpythonコードを使う環境を作る、その② -- Gitの設定 with Pycharm - プロクラシスト
使い方
xkcd()
を初めに宣言するだけこれだけ。簡単でしょ??
import numpy as np import matplotlib.pyplot as plt plt.xkcd() x = np.linspace(-np.pi, np.pi,200) plt.plot(x, np.sin(x),label="y = sinx") plt.plot(x, np.cos(x),label="y = cosx") plt.annotate( 'Intersection of \n sinx and cosx!', xy=(np.pi/4, np.sin(np.pi/4.0)), arrowprops=dict(arrowstyle='->'), xytext=(0, -0.5)) plt.xlabel("x") plt.ylabel("f(x)") plt.xlim(-np.pi, np.pi) plt.ylim(-1, 1) plt.title("xkcd") plt.legend(loc = "upper left") plt.show()
手書き感がいい。
普通のグラフとxkcd風のやつを並べると、より脱力感が伝わって来ます。
MatplotlibのHPもxkcd風に
これが通常のHP
matplotlib.orgの直後にxkcdを挟むと、xkcd風に見える
このトップページ二つ、実は結構違う
- 普通のページの方は、いたって説明的にmatplotlibの紹介をしている
- xkcdの方は、なぜか肖像画が出てくる
- さらに、John Hunterの生涯と、donationのお願いまでしている
ざっくり端折って訳すとこんなことを言っています
癌治療の合併症で亡くなりました。もしmatplotlibを使ってて、役に立つと思っているなら、感謝という意味も込めてここの基金に募金してね!
なんでこんな仕様にしているんだろう。謎ですね。
サンプルを見てみる
Matplotlib Examples — Matplotlib 1.3.x documentation
でいろんなサンプルが見られます!
3D
詳しくはこちら 可愛い、脱力感がすごい
円グラフ
詳しくはこちら
こんなの、たまにみるなぁ
最後に
いかがでしたか?さすがに科学論文ではこういうのはNGですが、ブログとか、柔らかい場所では結構雰囲気が変わっていいかもしれませんよ。ではでは!