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

回答編集履歴

3

追記

2021/06/02 14:58

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,3 +1,28 @@
1
1
  subplotを使わないのであれば、`sns.boxplot(x="都道府県", y="価格", hue="建物", data=df)`で良い訳ですが、
2
2
 
3
- subplotを使うとしたら、データフレームを都道府県ごとに抽出して、`ax`引数にsubplotを渡せば良いのでは。
3
+ subplotを使うとしたら、データフレームを都道府県ごとに抽出して、`ax`引数にsubplotを渡せば良いのでは。
4
+
5
+ ```python
6
+ import pandas as pd
7
+ import seaborn as sns
8
+ import matplotlib.pyplot as plt
9
+
10
+ # データフレームの準備
11
+ pref = ["東京", "東京", "東京", "埼玉", "埼玉", "埼玉", "東京", "東京", "埼玉", "埼玉"]
12
+ house = ["木造", "鉄骨", "木造", "鉄骨", "木造", "鉄骨", "鉄骨", "鉄骨", "木造", "木造"]
13
+ value = [100, 120, 100, 80, 80, 90, 90, 130, 100, 60]
14
+ df = pd.DataFrame({'都道府県':pref, '建物': house, '価格':value})
15
+
16
+ fig, axes = plt.subplots(7, 7, figsize=(50, 50), sharey=True)
17
+
18
+ pref_list = ["東京", "埼玉"]
19
+ for i, pref in enumerate(pref_list):
20
+ i, j = i // 7, i % 7
21
+ data = df.query(f"都道府県=='{pref}'")
22
+ sns.boxplot(x="都道府県", y="価格", hue="建物", data=data, ax=axes[i, j])
23
+
24
+ plt.show()
25
+
26
+ ```
27
+
28
+ ![イメージ説明](2ce23b6b40fb37c3662d34b39d48ec22.png)

2

ミスってたので一回消す

2021/06/02 14:57

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,25 +1,3 @@
1
1
  subplotを使わないのであれば、`sns.boxplot(x="都道府県", y="価格", hue="建物", data=df)`で良い訳ですが、
2
2
 
3
- subplotを使うとしたら、データフレームを都道府県ごとに抽出して、`ax`引数にsubplotを渡せば良いのでは。
3
+ subplotを使うとしたら、データフレームを都道府県ごとに抽出して、`ax`引数にsubplotを渡せば良いのでは。
4
-
5
- ```python
6
- import pandas as pd
7
- import seaborn as sns
8
- import matplotlib.pyplot as plt
9
-
10
- # データフレームの準備
11
- pref = ["東京", "東京", "東京", "埼玉", "埼玉", "埼玉", "東京", "東京", "埼玉", "埼玉"]
12
- house = ["木造", "鉄骨", "木造", "鉄骨", "木造", "鉄骨", "鉄骨", "鉄骨", "木造", "木造"]
13
- value = [100, 120, 100, 80, 80, 90, 90, 130, 100, 60]
14
- df = pd.DataFrame({'都道府県':pref, '建物': house, '価格':value})
15
-
16
- fig, axes = plt.subplots(7, 7, figsize=(50, 50), sharey=True)
17
-
18
- pref_list = ["東京", "埼玉"]
19
- for i, pref in enumerate(pref_list):
20
- i, j = i // 7, i % 7
21
- sns.boxplot(x="都道府県", y="価格", hue="建物", data=df, ax=axes[i, j])
22
-
23
- plt.show()
24
- ```
25
- ![イメージ説明](0fc6924631e671f1aab8a79e92171724.png)

1

修正

2021/06/02 14:55

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,5 +1,25 @@
1
1
  subplotを使わないのであれば、`sns.boxplot(x="都道府県", y="価格", hue="建物", data=df)`で良い訳ですが、
2
2
 
3
- そっちを使うとしたら、データフレームを都道府県ごとに抽出して、`ax`引数にsubplotを渡せば良いのでは。
3
+ subplotを使うとしたら、データフレームを都道府県ごとに抽出して、`ax`引数にsubplotを渡せば良いのでは。
4
4
 
5
- ```python
5
+ ```python
6
+ import pandas as pd
7
+ import seaborn as sns
8
+ import matplotlib.pyplot as plt
9
+
10
+ # データフレームの準備
11
+ pref = ["東京", "東京", "東京", "埼玉", "埼玉", "埼玉", "東京", "東京", "埼玉", "埼玉"]
12
+ house = ["木造", "鉄骨", "木造", "鉄骨", "木造", "鉄骨", "鉄骨", "鉄骨", "木造", "木造"]
13
+ value = [100, 120, 100, 80, 80, 90, 90, 130, 100, 60]
14
+ df = pd.DataFrame({'都道府県':pref, '建物': house, '価格':value})
15
+
16
+ fig, axes = plt.subplots(7, 7, figsize=(50, 50), sharey=True)
17
+
18
+ pref_list = ["東京", "埼玉"]
19
+ for i, pref in enumerate(pref_list):
20
+ i, j = i // 7, i % 7
21
+ sns.boxplot(x="都道府県", y="価格", hue="建物", data=df, ax=axes[i, j])
22
+
23
+ plt.show()
24
+ ```
25
+ ![イメージ説明](0fc6924631e671f1aab8a79e92171724.png)