2017-04-30 12 views
2

はseabornを用いてラグとdistplotを作る異なるアレイからrugplotとdistplotは簡単である:上記Seabornは

import seaborn as sns, numpy as np 
%matplotlib inline 
sns.set(rc={"figure.figsize": (8, 4)}); np.random.seed(0) 
x = np.random.randn(100) 
ax = sns.distplot(x, rug=True) 

ラグプロットが分布xを反映しています。しかし、rug_arrayという異なる分布の敷物をのdistプロットの下に表示するとどうなりますか?

rug_array = np.array([-2.0, -1, 0, 1, 2, 2.1, 3]) 

ラグプロットが、-1、-2にマダニ0、1、2、2.1、および3

答えて

4

Seabornはに機能rugplotを提供すると答えが曲線xのプロットを表示する必要がありラグプロットを描く。アイデアはこの機能を使用することです。

import seaborn as sns 
import numpy as np; np.random.seed(0) 
import matplotlib.pyplot as plt 

x = np.random.randn(100) 
rug_array = np.array([-2.0, -1, 0, 1, 2, 2.1, 3]) 

ax = sns.distplot(x, rug=False) 
sns.rugplot(rug_array, height=0.05, axis='x', ax=ax) 

plt.show() 

enter image description here

+0

これはより複雑にするが、rug_arrayは、現在のx軸(例えばLOG10)とは異なる縮尺にあった場合、どのように私は敷物に一致するように別々の軸を追加することができませんか?私は、必要なら別の質問としてこれを掲示することができます。 –

+0

'ax2 = ax.twiny()'で新しい軸を追加し、 'sns.rugplot(...、ax = ax2)'を介してそれにプロットすることができます。しかし、私はそのプロットが容易に理解できるとは思っていません。これで問題が解決しない場合は、新しい質問を正確な問題の説明とともに掲示することが理にかなっています。 – ImportanceOfBeingErnest