kumilog.net

データ分析やプログラミングの話などを書いています。

ゆるふわグラフをmatplotlibで描く

pythonでグラフといえば、matplotlibですが、ちょっといけてないので、 きれいなグラフを描くには、seabornを使ったりしてるかと思います。

seabornはきれいなグラフを簡単に描けるのですが、勉強会のプレゼン資料なんかに おすすめで、手書き風のグラフを描いてくれるライブラリを紹介します。

使い方

XKCD-stlyeは、matplotlibに組み込まれているみたいなので、 はじめに1行書くだけです。

import matplotlib.pyplot as plt
plt.xkcd()

サンプル

どんな感じのグラフになるのかいくつか紹介します。 他にもmatplotlibのgralleryページには、たくさんサンプルがあります。

折れ線グラフ

x = np.arange(-3, 3, 0.1)
y = np.sin(x)
plt.plot(x, y, c='lightskyblue', label='y = sin(x)')
plt.plot([-3, 3], [-1, 1], c='lightcoral', label='y = 1/3x')
plt.legend()
plt.title('Line Plot')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

通常

f:id:xkumiyu:20170922214420p:plain

ゆるふわバージョン

f:id:xkumiyu:20170922214453p:plain

散布図

N = 50
x = np.random.rand(N)
y = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N))**2
plt.title('Scatter Plot')
plt.scatter(x, y, s=area, alpha=0.5, c='gold')
plt.show()

通常

f:id:xkumiyu:20170922214516p:plain

ゆるふわバージョン

f:id:xkumiyu:20170922214532p:plain

ヒストグラム

plt.hist(np.random.randn(1000), color='yellowgreen')
plt.title('Histgram')
plt.show()

通常

f:id:xkumiyu:20170922214554p:plain

ゆるふわバージョン

f:id:xkumiyu:20170922214614p:plain

円グラフ

x = np.array([0.2, 0.4, 0.15, 0.25])
labels = ['Melon', 'Banana', 'Grape', 'Apple']
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']
plt.pie(x, autopct='%d%%', labels=labels, colors=colors)
plt.axis('equal')
plt.title('Pie Chart')
plt.show()

通常

f:id:xkumiyu:20170922214633p:plain

ゆるふわバージョン

f:id:xkumiyu:20170922214646p:plain