2017-09-14 5 views
0

マイデータフレームのためのプロットcountplot、DF: - 行ごとに、option_1またはoption_2またはoption_3matplotlibの:1つのプロットに二つ以上の列

Sno | Attribute_1 | Attribute_2 | Attribute_3 
__________________________________________________ 
1 | option_1  | option_3  |option_2 
2 | option_1  | option_1  |option_1 
3 | option_2  | option_2  |option_2 
4 | option_1  | option_1  |option_3 
5 | option_3  | option_2  |option_2 
6 | option_3  | option_3  |option_1 
7 | option_1  | option_3  |option_2 

ここATTRIBUTE_1、Attribute_2とAttribute_3は、カテゴリデータが含まれています。

すべての属性について同じプロット上にカウントプロットを作成したいとします。 私はで1列のためにそれを行うことができる午前:私は、個々の属性ごとに作成することができますが、私はそれを探していますが、同じプロット上で、私はすべての属性のカウントプロットを持つことができること

sns.countplot(x="Attribute_1", data=df); 

。 、すなわちX軸には属性があり、各属性には3つのカウントプロットがあります。

答えて

1

Seabornは、通常、長い形式のデータセットで最も効果的です。私。各属性のオプションが異なる3つの列の代わりに、オプションと属性の2つの列があります。これは簡単にpd.meltで作成できます。同様にあなたがxhueを入れ替えることができ

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

a= np.random.choice(["option_{}".format(i) for i in [1,2,3]], size=(12,3)) 
df = pd.DataFrame(a, columns=["Attribute_{}".format(i) for i in list("ABC")]) 

sns.countplot(x="variable", hue="value", data=pd.melt(df)) 

plt.show() 

enter image description here

sns.countplot(x="value", hue="variable", data=pd.melt(df)) 

sns.countplot(x="variable", hue="value", data=pd.melt(df)) 

コンプリート例:次にhue値は、 "オプション" 欄で使用することができます

enter image description here

+0

ありがとうございました。助けられた。 –

関連する問題