回答編集履歴

2

修正

2019/09/22 15:01

投稿

8524ba23
8524ba23

スコア38341

test CHANGED
@@ -1,4 +1,4 @@
1
- 元データ`min`が`DataFrame`で与えられる場合は、以下のようなコードでループを使わずに描画できます。
1
+ 元データ`min`が`Series`で与えられる場合は、以下のようなコードでループを使わずに描画できます。
2
2
 
3
3
  ```Python
4
4
 
@@ -8,15 +8,15 @@
8
8
 
9
9
 
10
10
 
11
- df = pd.DataFrame({'min':[0, 10, 30, 70, 80]})
11
+ min = pd.Series([0, 10, 30, 70, 80])
12
12
 
13
- ws = (df['min'].shift(-1) - df['min'])[:-1]
13
+ ws = (min.shift(-1) - min)[:-1]
14
14
 
15
15
  ys = [i+1 for i in range(len(ws))]
16
16
 
17
17
 
18
18
 
19
- plt.bar(df['min'][:-1], ys, align="edge", width=ws, color="b")
19
+ plt.bar(min[:-1], ys, align="edge", width=ws, color="b")
20
20
 
21
21
  plt.show()
22
22
 

1

修正

2019/09/22 15:01

投稿

8524ba23
8524ba23

スコア38341

test CHANGED
@@ -1,3 +1,33 @@
1
+ 元データ`min`が`DataFrame`で与えられる場合は、以下のようなコードでループを使わずに描画できます。
2
+
3
+ ```Python
4
+
5
+ from matplotlib import pyplot as plt
6
+
7
+ import pandas as pd
8
+
9
+
10
+
11
+ df = pd.DataFrame({'min':[0, 10, 30, 70, 80]})
12
+
13
+ ws = (df['min'].shift(-1) - df['min'])[:-1]
14
+
15
+ ys = [i+1 for i in range(len(ws))]
16
+
17
+
18
+
19
+ plt.bar(df['min'][:-1], ys, align="edge", width=ws, color="b")
20
+
21
+ plt.show()
22
+
23
+ ```
24
+
25
+
26
+
27
+ 修正前
28
+
29
+ --
30
+
1
31
  `各棒の幅のリスト`が与えられる場合は、以下のようなコードで同じ結果グラフを得ることができます。
2
32
 
3
33
  ```Python