BETA

【xkcd】pythonコードにたった一行で漫画のようなグラフを作る!

投稿日:2018-10-12
最終更新:2018-10-24
※この記事は外部サイト(http://www.procrasist.com/entry/python-xkcd)からのクロス投稿です

xkcdとは

世界一で最も人気のあるウェブ漫画の一つです

xkcd HP

  • ランダル・マンローが2005年9月に開設
  • 皮肉や風刺が得意。理系ネタが結構多い。
  • 現在は週3回更新されている
  • キャラやフォントが特徴的

これとか皮肉が効いてていいですね!好きです

A : 寝ないの?
B : 寝られないんだ、大事なことがある
A : なによ?
B : 誰かがインターネットでボロを出してるんだ

Duty Calls

実はmatplotlibを使えば、グラフをxkcd風に仕立てられます。しかもたった一行で!今回はその紹介をします

matplotlibで、xkcd

requirement

matplotlib > 1.3.x

matplotlibってなんだ、そもそもpython環境ないぞという人は下記記事を参考にどうぞ

使い方

たった一言、

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

"http://matplotlib.org"

matplotlib.orgの直後にxkcdを挟むと、xkcd風に見える

"http://matplotlib.org/xkcd"

このトップページ二つ、実は結構違う

  • 普通のページの方は、いたって説明的にmatplotlibの紹介をしている

  • xkcdの方は、なぜか肖像画が出てくる
  • さらに、John Hunterの生涯と、donationのお願いまでしている

ざっくり端折って訳すとこんなことを言っています

癌治療の合併症で亡くなりました。もしmatplotlibを使ってて、役に立つと思っているなら、感謝という意味も込めてここの基金に募金してね!

なんでこんな仕様にしているんだろう。謎ですね。

サンプルを見てみる

Matplotlib Examples

でいろんなサンプルが見られます!

3D

詳しくは こちら 可愛い、脱力感がすごい

円グラフ

詳しくはこちら

こんなの、たまにみるなぁ

最後に

いかがでしたか?さすがに科学論文ではこういうのはNGですが、ブログとか、柔らかい場所では結構雰囲気が変わっていいかもしれませんよ。ではでは!

たった一行だし、雰囲気変えたい時には良さそう!
対応する日本語フォントがないのが少し残念かなぁ
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@hokekiyooの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!