2017-10-19 1 views
2

要素がその型文字列であっても、barplotは値によって順序付けされます。 factor = ["24"、 "12"、 "60"、 "18"、 "36"、 "6"、 "10"、 "48"、 "30"、 "15"] 値= [9,8,7,6,5,4,3,2,1,0]因子の数値を文字列で使用しても、シーボーンのbarplotが間違った順序

barplotは値で注文できません... dリストを英数字に変更すると、 factor = ["a"、 "b"、 "c"] それから値で注文します。

これは前後の写真です。

enter image description here

enter image description here

d = ["24", "12", "60", "18", "36", "6", "10", "48", "30", "15"] 
value = [9,8,7,6,5,4,3,2,1,0] 
y_cumsum = np.cumsum(value) 
sns.barplot(d, value) 
sns.pointplot(d, y_cumsum) 
plt.show() 
+0

リストとプロットのコードを掲載してください。 – kabanus

答えて

2

d文字列が含まれています。このように、それらは単語( "6"は "1"よりも高いので "10"よりも高い)でソートされます。

一般的に予想される順序になるように整数に変更します。

2番目の問題は、dの値を並べ替えることを望まないため、上記のコードはy値(コードの値)に従って注文したいと思うためです。

sns.barplot(d, value,order=d) 

あなたが望むようdはあなたの例のように、注文されたと仮定すると:あなたは明示的に「注文」パラメータを使用してそれらを注文する必要があります。

関連する問題