回答編集履歴
4
修正
test
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
[[(x0, y0), (x1, y1)] for x0, y0, x1, y1 in zip(x, y, x[1:], y[1:])],
|
58
58
|
|
59
|
-
colors=[
|
59
|
+
colors=[select_color(v) for v in y2[1:]],,
|
60
60
|
|
61
61
|
lw=0.5)
|
62
62
|
|
3
変更
test
CHANGED
@@ -54,8 +54,12 @@
|
|
54
54
|
|
55
55
|
lc = LineCollection(
|
56
56
|
|
57
|
-
|
57
|
+
[[(x0, y0), (x1, y1)] for x0, y0, x1, y1 in zip(x, y, x[1:], y[1:])],
|
58
58
|
|
59
|
-
colors=[
|
59
|
+
colors=['blue' if v > 0 else 'red' for v in y2[1:]],
|
60
|
+
|
61
|
+
lw=0.5)
|
62
|
+
|
63
|
+
ax.add_collection(lc)
|
60
64
|
|
61
65
|
```
|
2
追記
test
CHANGED
@@ -25,3 +25,37 @@
|
|
25
25
|
ax.add_collection(lc)
|
26
26
|
|
27
27
|
```
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
###### 0の場合に色を黒にしたい場合
|
32
|
+
|
33
|
+
いろいろやり方がありそうですが、色を決める関数を作ってしまうのがわかりやすいとおもいます。
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
```python
|
38
|
+
|
39
|
+
def select_color(v):
|
40
|
+
|
41
|
+
if v > 0:
|
42
|
+
|
43
|
+
return 'b'
|
44
|
+
|
45
|
+
elif v < 0:
|
46
|
+
|
47
|
+
return 'r'
|
48
|
+
|
49
|
+
else:
|
50
|
+
|
51
|
+
return 'k'
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
lc = LineCollection(
|
56
|
+
|
57
|
+
...
|
58
|
+
|
59
|
+
colors=[select_color(v) for v in y2[1:]],
|
60
|
+
|
61
|
+
```
|
1
修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
色を変えて複数の線を引きたいような場合は、Lin
|
1
|
+
色を変えて複数の線を引きたいような場合は、LineCollectionを使うといいです。第一引数のn番目の線をcolorsのn番目の色で描きます。
|
2
2
|
|
3
3
|
|
4
4
|
|