回答編集履歴
2
追記
answer
CHANGED
@@ -13,4 +13,20 @@
|
|
13
13
|
df = pd.DataFrame({'label': ['A', 'A', 'A', 'A', 'A', 'B', 'B','B', 'B', 'B'], 'score': [1, 1, 1, 2, 3, 1, 2, 3, 4, 5], 'country':['D', 'D', 'D', 'E', 'D', 'C', 'C','D', 'E', 'C']})
|
14
14
|
ax = sns.barplot(x='score', y='label', orient='h', data=df , hue='country', palette=sns.color_palette("Set2"))
|
15
15
|
```
|
16
|
-

|
16
|
+

|
17
|
+
|
18
|
+
---
|
19
|
+
【追記】
|
20
|
+
matplotlibを使って下記の様な感じでしょうか?
|
21
|
+
```python
|
22
|
+
df = pd.DataFrame({'label':['A','a','B','b','C','D','e'],'case':['u','l','u','l','u','u','l'],'score':[134,102,82,112,104,94,122]})
|
23
|
+
|
24
|
+
for i in range(len(df)):
|
25
|
+
if df.loc[i, 'case'] == 'u':
|
26
|
+
plt.barh(df.loc[i, 'label'], df.loc[i, 'score'], color='b')
|
27
|
+
else:
|
28
|
+
plt.barh(df.loc[i, 'label'], df.loc[i, 'score'], color='g')
|
29
|
+
plt.legend(['u', 'l'])
|
30
|
+
plt.show()
|
31
|
+
```
|
32
|
+

|
1
追記
answer
CHANGED
@@ -6,4 +6,11 @@
|
|
6
6
|
```
|
7
7
|

|
8
8
|
|
9
|
-
質問のコードでは見えませんが(データが0なので)各々AとBのバーが存在しているのではないでしょうか?
|
9
|
+
質問のコードでは見えませんが(データが0なので)各々AとBのバーが存在しているのではないでしょうか?
|
10
|
+
|
11
|
+
上記コードでlabel=Aでcountry=Cがない場合は下記グラフとなります。
|
12
|
+
```python
|
13
|
+
df = pd.DataFrame({'label': ['A', 'A', 'A', 'A', 'A', 'B', 'B','B', 'B', 'B'], 'score': [1, 1, 1, 2, 3, 1, 2, 3, 4, 5], 'country':['D', 'D', 'D', 'E', 'D', 'C', 'C','D', 'E', 'C']})
|
14
|
+
ax = sns.barplot(x='score', y='label', orient='h', data=df , hue='country', palette=sns.color_palette("Set2"))
|
15
|
+
```
|
16
|
+

|