回答編集履歴

2

追記

2020/02/22 16:23

投稿

hayataka2049
hayataka2049

スコア30935

test CHANGED
@@ -62,4 +62,68 @@
62
62
 
63
63
 
64
64
 
65
- 間を繋げたい場合、`DataFrame.plot`一発だといけない気がします。いろいろやり方は思いつきます。`df[["Time[us]", "data1"]]`と`df[["Time[us]", "data2"]]`をそれぞれ作り、NaNがある行を落として、同じ`Axes`オブジェクトに対してプロットするというロジックで書くのが一つの手です。
65
+ 間を繋げたい場合、`DataFrame.plot`一発だといけない気がします。いろいろやり方は思いつきます。`df[["Time[us]", "data1"]]`と`df[["Time[us]", "data2"]]`をそれぞれ作り、NaNがある行を落として、同じ`Axes`オブジェクトに対してプロットするというロジックで書くのが一つの手です。このやり方でやるとこんな感じです。
66
+
67
+
68
+
69
+ ```python
70
+
71
+ import io
72
+
73
+ import pandas as pd
74
+
75
+ import matplotlib.pyplot as plt
76
+
77
+
78
+
79
+ txt = """
80
+
81
+ Time[us],data1,data2
82
+
83
+ 0,NaN,1
84
+
85
+ 246.3,0,NaN
86
+
87
+ 778.8,0,NaN
88
+
89
+ 1778.8,0,NaN
90
+
91
+ 2778.8,NaN,1
92
+
93
+ 3778.8,0,NaN
94
+
95
+ 4778.8,NaN,0
96
+
97
+ 5278.8,0,NaN
98
+
99
+ 6718.8,NaN,1
100
+
101
+ 7718.8,NaN,0
102
+
103
+ """
104
+
105
+
106
+
107
+ df = pd.read_csv(io.StringIO(txt))
108
+
109
+
110
+
111
+ ax = plt.subplot()
112
+
113
+ for col in ["data1", "data2"]:
114
+
115
+ tmp = df[["Time[us]", col]]
116
+
117
+ tmp.dropna(axis=0, how="any").plot(x="Time[us]", ax=ax)
118
+
119
+
120
+
121
+ plt.savefig("result.png")
122
+
123
+ ```
124
+
125
+
126
+
127
+ result.png
128
+
129
+ ![イメージ説明](2ea3b3e47f32b62619833b94075cfd36.png)

1

追記

2020/02/22 16:23

投稿

hayataka2049
hayataka2049

スコア30935

test CHANGED
@@ -57,3 +57,9 @@
57
57
  result.png
58
58
 
59
59
  ![](2e657973176b326ce5d25f2cf437db20.png)
60
+
61
+
62
+
63
+
64
+
65
+ 間を繋げたい場合、`DataFrame.plot`一発だといけない気がします。いろいろやり方は思いつきます。`df[["Time[us]", "data1"]]`と`df[["Time[us]", "data2"]]`をそれぞれ作り、NaNがある行を落として、同じ`Axes`オブジェクトに対してプロットするというロジックで書くのが一つの手です。