めも

メモ.

pythonで時系列データのプロット、棒グラフ、散布図

よく使うのでメモ。

データのロード

import seaborn as sns
data = sns.load_dataset('planets')

ロードしたデータの形式は以下に形。

method number orbital_period mass distance year
0 Radial Velocity 1 269.300 7.10 77.40 2006
1 Radial Velocity 1 874.774 2.21 56.95 2008
2 Radial Velocity 1 763.000 2.60 19.84 2011
3 Radial Velocity 1 326.030 19.40 110.62 2007
4 Radial Velocity 1 516.220 10.50 119.47 2009

プロット

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

TIMELEN = 1000
x = np.linspace(0, 20, TIMELEN)
y = np.cumsum(np.random.randn(TIMELEN, 9), 0)
plt.plot(x, y)
plt.legend('ABCDEFGHI', ncol=3, loc='upper left');

f:id:misos:20161112203224p:plain

棒グラフ

単純なカウント

ax = sns.factorplot("year", data=data, aspect=2,kind="count")
ax.set_xticklabels(step=5)

f:id:misos:20161112203813p:plain

特定のカラムの数のカウント(group by)

ax = sns.factorplot("year", data=data, aspect=2.0, kind='count',hue='method')
ax.set_ylabels('Number of Planets Discovered')

f:id:misos:20161112204034p:plain

散布図

二変数間での散布図

ax = sns.jointplot("mass", "distance", data, kind='hex')
ax.ax_joint.plot(np.linspace(0, 16),np.linspace(0, 16), ':k')

f:id:misos:20161112204300p:plain

二変数間の散布図を同時に複数

ax = sns.PairGrid(data, vars=['mass', 'distance', 'year'], hue='number').map(plt.scatter, alpha=0.8).add_legend()

f:id:misos:20161112204704p:plain

プライバシーポリシー

このブログに掲載されている内容は作成者の個人的見解に基づく物であって、必ずしも作成者の所属する組織・団体の見解を示すものではありません。また、記載が不正確であったことにより生じたいかなる損害に関しても、責任を負いかねますのでご了承ください。また、本サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。また、本サイトでは、第三者配信の広告サービス(Googleアドセンス、A8.net)を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、クッキー(Cookie)を使用しております。 クッキーを使用することで当サイトはお客様のコンピュータを識別できるようになりますが、お客様個人を特定できるものではありません。本サイトの管理者への問い合わせ、当ブログのプライバシーポリシーの詳細についてはこちらをご覧ください。