teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2021/07/25 16:14

投稿

meg_
meg_

スコア10944

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
- ![イメージ説明](b63bad0ca068a67032f17c926ce7ab65.png)
16
+ ![イメージ説明](b63bad0ca068a67032f17c926ce7ab65.png)
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
+ ![イメージ説明](6ff386fdc7f1f4c84697b76544d19645.png)

1

追記

2021/07/25 16:14

投稿

meg_
meg_

スコア10944

answer CHANGED
@@ -6,4 +6,11 @@
6
6
  ```
7
7
  ![イメージ説明](9f3f852edbb38375a3919e5641394dfe.png)
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
+ ![イメージ説明](b63bad0ca068a67032f17c926ce7ab65.png)