回答編集履歴
2
修正
answer
CHANGED
@@ -10,21 +10,38 @@
|
|
10
10
|
import matplotlib.pyplot as plt
|
11
11
|
import numpy as np
|
12
12
|
|
13
|
-
# Figure を subplots(行数, 列数) で分割
|
13
|
+
# Figure を subplots(行数, 列数) で分割する。
|
14
|
-
# 1行2列だと [Axes1, Axes2] というリストが返ってくるので、タプル展開した
|
15
|
-
fig,
|
14
|
+
fig, axes = plt.subplots(2, 3, figsize=(12, 8))
|
16
15
|
|
17
|
-
# 棒グラフを作成する。
|
16
|
+
# [1行1列目] 棒グラフを作成する。
|
18
17
|
x = np.arange(1, 6)
|
19
18
|
y = np.random.randint(50, 100, 5)
|
20
|
-
|
19
|
+
axes[0, 0].bar(x, y)
|
21
20
|
|
22
|
-
# 円グラフを作成する。
|
21
|
+
# [1行2列目] 円グラフを作成する。
|
23
22
|
x = [100, 200, 300, 400, 500]
|
24
|
-
labels = ["label1", "label2", "label3", "label4", "label5"]
|
25
|
-
|
23
|
+
axes[0, 1].pie(x)
|
26
24
|
|
25
|
+
# [1行3列目] 棒グラフを作成する。
|
26
|
+
x = np.linspace(-3, 3, 10)
|
27
|
+
y = x ** 2
|
28
|
+
axes[0, 2].plot(x, y)
|
29
|
+
|
30
|
+
# [2行1列目] 等高線を作成する。
|
31
|
+
X, Y = np.mgrid[-5:5:50j, -5:5:50j]
|
32
|
+
Z = np.sin(X) + np.cos(10 + X * Y)
|
33
|
+
axes[1, 0].contour(X, Y, Z)
|
34
|
+
|
35
|
+
# [2行2列目] 等高線を作成する。
|
36
|
+
axes[1, 1].contourf(X, Y, Z)
|
37
|
+
|
38
|
+
# [2行3列目] 折れ線グラフを作成する。
|
39
|
+
x = [1, 2, 3, 4, 5, 6, 7]
|
40
|
+
y1 = [1, 1, 2, 3, 5, 8, 13]
|
41
|
+
y2 = [0, 2, 4, 6, 8, 10, 12]
|
42
|
+
axes[1, 2].stackplot(x, y1, y2)
|
43
|
+
|
27
44
|
plt.show()
|
28
45
|
```
|
29
46
|
|
30
|
-

|
1
修正
answer
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
Figure は1つの図を表す、Axes は図の中の描画領域を表すオブジェクトです。
|
2
2
|
matplotlib ではまず最初に Figure と Axes を作成するところから始めます。
|
3
|
-
Figure を格子状に分割して、Axes を作成する場合は plt.subplots(行の分割数, 列の分割数)
|
3
|
+
Figure を格子状に分割して、Axes を作成する場合は plt.subplots(行の分割数, 列の分割数) を使用します。
|
4
4
|
|
5
5
|

|
6
6
|
|
7
|
-
Axes を作成したら、それぞれの Axes オブジェクトが持つ plot() や bar() といった
|
7
|
+
Axes を作成したら、それぞれの Axes オブジェクトが持つ plot() や bar() といったメソッドを呼び出して、データを描画対象の Axes 上に描画します。
|
8
8
|
|
9
9
|
```python
|
10
10
|
import matplotlib.pyplot as plt
|