質問編集履歴
2
イメージ図を追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -65,4 +65,10 @@
|
|
65
65
|

|
66
66
|
これで間隔が詰まればうまくいくかと思いご質問しました。
|
67
67
|
が、meg_さんのおっしゃる通り、長さ0の棒グラフが挟まっているように見えます。
|
68
|
-
hueを使うのがそもそもおかしいでしょうか?
|
68
|
+
hueを使うのがそもそもおかしいでしょうか?
|
69
|
+
|
70
|
+
(さらに追記)
|
71
|
+
やりたいことを図にしました。
|
72
|
+
左の表(DataFrameで渡す)を受け取って、右のグラフを描きたいです。
|
73
|
+
基本的には横組みの棒グラフですが、caseによってグラフの色を変えたいです。
|
74
|
+

|
1
meg_さんのご回答を受けて追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -32,4 +32,37 @@
|
|
32
32
|
|
33
33
|
python 3.7.6
|
34
34
|
matplotlib 3.2.1
|
35
|
-
seaborn 0.11.1
|
35
|
+
seaborn 0.11.1
|
36
|
+
|
37
|
+
(追記)
|
38
|
+
すみません。
|
39
|
+
サンプルの作り方がよくなかったので再送させてください。
|
40
|
+
カラムをひとつ追記しました。
|
41
|
+
|
42
|
+
```Python
|
43
|
+
from matplotlib import pyplot as plt
|
44
|
+
import seaborn as sns
|
45
|
+
import pandas as pd
|
46
|
+
|
47
|
+
df = pd.DataFrame({'label': ['A', 'A', 'a', 'a', 'a', 'B', 'B', 'B', 'b', 'b', ], 'case': ['u', 'u', 'l', 'l', 'l', 'u', 'u', 'u', 'l', 'l'], 'score': [1, 1, 1, 2, 3, 1, 2, 3, 4, 5]})
|
48
|
+
sns.barplot(x='score', y='label', orient='h', data=df
|
49
|
+
# ,hue='case'
|
50
|
+
, palette=sns.color_palette("Set2"))
|
51
|
+
```
|
52
|
+

|
53
|
+
これを大文字か小文字かでそれぞれ色をつけたいです
|
54
|
+
(大文字は緑、小文字は赤、のように)。
|
55
|
+
```Python
|
56
|
+
from matplotlib import pyplot as plt
|
57
|
+
import seaborn as sns
|
58
|
+
import pandas as pd
|
59
|
+
|
60
|
+
df = pd.DataFrame({'label': ['A', 'A', 'a', 'a', 'a', 'B', 'B', 'B', 'b', 'b', ], 'case': ['u', 'u', 'l', 'l', 'l', 'u', 'u', 'u', 'l', 'l'], 'score': [1, 1, 1, 2, 3, 1, 2, 3, 4, 5]})
|
61
|
+
sns.barplot(x='score', y='label', orient='h', data=df
|
62
|
+
,hue='case'
|
63
|
+
, palette=sns.color_palette("Set2"))
|
64
|
+
```
|
65
|
+

|
66
|
+
これで間隔が詰まればうまくいくかと思いご質問しました。
|
67
|
+
が、meg_さんのおっしゃる通り、長さ0の棒グラフが挟まっているように見えます。
|
68
|
+
hueを使うのがそもそもおかしいでしょうか?
|