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

質問編集履歴

2

イメージ図を追記しました。

2021/07/25 15:01

投稿

hacosato
hacosato

スコア48

title CHANGED
File without changes
body CHANGED
@@ -65,4 +65,10 @@
65
65
  ![イメージ説明](8804530af54d0bda70a9d20e083b5751.png)
66
66
  これで間隔が詰まればうまくいくかと思いご質問しました。
67
67
  が、meg_さんのおっしゃる通り、長さ0の棒グラフが挟まっているように見えます。
68
- hueを使うのがそもそもおかしいでしょうか?
68
+ hueを使うのがそもそもおかしいでしょうか?
69
+
70
+ (さらに追記)
71
+ やりたいことを図にしました。
72
+ 左の表(DataFrameで渡す)を受け取って、右のグラフを描きたいです。
73
+ 基本的には横組みの棒グラフですが、caseによってグラフの色を変えたいです。
74
+ ![イメージ説明](55ef586239a6b0f319740613c84b021e.png)

1

meg_さんのご回答を受けて追記しました。

2021/07/25 15:01

投稿

hacosato
hacosato

スコア48

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
+ ![イメージ説明](f4a9b5388fe48f10474fe1d694007ec0.png)
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
+ ![イメージ説明](8804530af54d0bda70a9d20e083b5751.png)
66
+ これで間隔が詰まればうまくいくかと思いご質問しました。
67
+ が、meg_さんのおっしゃる通り、長さ0の棒グラフが挟まっているように見えます。
68
+ hueを使うのがそもそもおかしいでしょうか?