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

質問編集履歴

3

写真の追加

2021/09/23 23:34

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -17,15 +17,17 @@
17
17
  {"start":0
18
18
  ,"stop":0.9
19
19
  ,"step":0.01666666666666
20
- ,"as":"time_series"}
20
+ ,"as":"time"}
21
21
  }
22
22
  ,"mark":"line",
23
23
  "encoding":{
24
- "x":{"field":"time_series","type":"quantitative"}
24
+ "x":{"field":"time","type":"quantitative"}
25
25
  ,"y":{"field":"x","type":"quantitative"}
26
26
  }
27
27
  ,"title":"Time Series Chart"}
28
28
  ```
29
+ ### Vega Editorの描画結果
30
+ ![グラフ](c6057e2258ffe535db2817e0c92425db.png)
29
31
 
30
32
  ### データセットを作成するコード
31
33
  ```js

2

問題点の一部改善

2021/09/23 23:34

投稿

putaro
putaro

スコア9

title CHANGED
@@ -1,1 +1,1 @@
1
- Vega-LiteでWARN Infinite extent for field "Time_Seriesl": [Infinity, -Infinity]の警告が表示され
1
+ Vega-Liteでグラフが表示されない
body CHANGED
@@ -1,6 +1,5 @@
1
1
  ### 前提・実現したいこと
2
- 加速度センサーから取得した値を、**Vega-Lite**を使って可視化させようとしたのですが、画面には描画されず、エラー確認したところ
2
+ 加速度センサーから取得した値を、**Vega-Lite**を使って可視化させようとしたのですが、ブラウザには描画されず、**Vega Editor**使って直接、値を入力てグラフの作成も試みのですが、やはりダメでした。
3
- **WARN Infinite extent for field "Time_Seriesl": [Infinity, -Infinity]**と表示されていました。自分では原因がわからずどのようにすれば描画できるでしょうか。
4
3
  ### 使用環境
5
4
  macOS ver 11.6
6
5
  node.js ver v16.8.0
@@ -9,51 +8,25 @@
9
8
  https://cdn.jsdelivr.net/npm/vega-lite@5.1.1
10
9
  https://cdn.jsdelivr.net/npm/vega-embed@6.18.2
11
10
  ### 作成したデータセット
11
+ データ数は54個 X軸が計測時間のシーケンス、Y軸が加速度センサーの軸のどれかの値(今回はx軸)
12
12
  ```
13
- {
14
- '$schema': 'https://vega.github.io/schema/vega-lite/v5.json',
15
- // 加速度センサーのデータ
16
- data: {
17
- values: [
18
- // 加速度センサーのデータ
19
- [Object], [Object], [Object], [Object], [Object], [Object],
20
- [Object], [Object], [Object], [Object],
21
- ... 107201 more items
22
- ],
23
- // x軸用のシーケンスを作成
24
- sequence: {
25
- start: 0,
26
- stop: 1788.35,
27
- step: 0.016666666666666666,
28
- as: 'Time_Series'
29
- }
30
- },
31
- // 折線グラフ
32
- mark: 'line',
33
- encoding: {
34
- // 先ほど作成したシーケンス
35
- x: { field: 'Time_Seriesl', type: 'temporal' },
36
- // 加速度センサーのx軸の値
37
- y: { field: 'x', type: 'quantitative' }
38
- },
39
- title: 'Time Series Chart'
40
- }
13
+ {"$schema":"https://vega.github.io/schema/vega-lite/v5.json",
14
+ "data":{
15
+ "values":[{"x":0.018,"y":0.034,"z":0.066},{"x":0.01,"y":0.044,"z":0.079},{"x":0.018,"y":0.031,"z":0.069},{"x":0.021,"y":0.032,"z":0.072},{"x":0.02,"y":0.038,"z":0.071},{"x":0.015,"y":0.04,"z":0.072},{"x":0.024,"y":0.039,"z":0.067},{"x":0.02,"y":0.032,"z":0.067},{"x":0.017,"y":0.033,"z":0.065},{"x":0.022,"y":0.038,"z":0.074},{"x":0.019,"y":0.03,"z":0.072},{"x":0.015,"y":0.042,"z":0.068},{"x":0.019,"y":0.044,"z":0.074},{"x":0.01,"y":0.045,"z":0.075},{"x":0.015,"y":0.034,"z":0.072},{"x":0.016,"y":0.032,"z":0.063},{"x":0.02,"y":0.042,"z":0.065},{"x":0.02,"y":0.032,"z":0.065},{"x":0.019,"y":0.036,"z":0.077},{"x":0.017,"y":0.037,"z":0.08},{"x":0.028,"y":0.031,"z":0.065},{"x":0.022,"y":0.037,"z":0.067},{"x":0.015,"y":0.043,"z":0.06},{"x":0.022,"y":0.037,"z":0.072},{"x":0.019,"y":0.037,"z":0.065},{"x":0.018,"y":0.033,"z":0.069},{"x":0.023,"y":0.033,"z":0.073},{"x":0.022,"y":0.031,"z":0.055},{"x":0.022,"y":0.039,"z":0.058},{"x":0.015,"y":0.038,"z":0.065},{"x":0.025,"y":0.035,"z":0.067},{"x":0.015,"y":0.048,"z":0.074},{"x":0.012,"y":0.037,"z":0.079},{"x":0.021,"y":0.023,"z":0.067},{"x":0.013,"y":0.026,"z":0.067},{"x":0.01,"y":0.037,"z":0.072},{"x":0.022,"y":0.036,"z":0.067},{"x":0.019,"y":0.035,"z":0.072},{"x":0.019,"y":0.04,"z":0.075},{"x":0.016,"y":0.028,"z":0.067},{"x":0.023,"y":0.041,"z":0.076},{"x":0.018,"y":0.033,"z":0.064},{"x":0.019,"y":0.029,"z":0.066},{"x":0.018,"y":0.032,"z":0.071},{"x":0.028,"y":0.042,"z":0.065},{"x":0.022,"y":0.031,"z":0.06},{"x":0.018,"y":0.034,"z":0.072},{"x":0.02,"y":0.035,"z":0.065},{"x":0.018,"y":0.029,"z":0.064},{"x":0.019,"y":0.036,"z":0.081},{"x":0.013,"y":0.038,"z":0.07},{"x":0.014,"y":0.033,"z":0.075},{"x":0.02,"y":0.036,"z":0.069},{"x":0.016,"y":0.04,"z":0.071}],
16
+ "sequence":
17
+ {"start":0
18
+ ,"stop":0.9
19
+ ,"step":0.01666666666666
20
+ ,"as":"time_series"}
21
+ }
22
+ ,"mark":"line",
23
+ "encoding":{
24
+ "x":{"field":"time_series","type":"quantitative"}
25
+ ,"y":{"field":"x","type":"quantitative"}
26
+ }
27
+ ,"title":"Time Series Chart"}
41
28
  ```
42
- ### 加速度センサーのデータ
29
+
43
- ```
44
- {
45
- values: [
46
- { x: 0.018, y: 0.034, z: 0.066 },
47
- { x: 0.01, y: 0.044, z: 0.079 },
48
- { x: 0.018, y: 0.031, z: 0.069 },
49
- { x: 0.02, y: 0.038, z: 0.071 },
50
- { x: 0.015, y: 0.04, z: 0.072 },
51
- { x: 0.017, y: 0.026, z: 0.069 },
52
- { x: 0.015, y: 0.042, z: 0.069 },
53
- ... 107201 more items
54
- ]
55
- }
56
- ```
57
30
  ### データセットを作成するコード
58
31
  ```js
59
32
  router.post('/graph', /*async*/ function(req, res, next) {

1

問題点を全部確認するため

2021/09/23 23:32

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -92,4 +92,73 @@
92
92
 
93
93
  module.exports = router;
94
94
  ```
95
- 色々と調べてはみたのですが、はっきりとは意味がわからなかったです。
95
+ 色々と調べてはみたのですが、はっきりとは意味がわからなかったです。
96
+
97
+ ### 追記
98
+ ejsのソースコード
99
+ ```ejs
100
+ <!DOCTYPE html>
101
+ <html>
102
+ <head>
103
+ <meta charset="UTF-8">
104
+ <title><%= title%></title>
105
+ <link rel="stylesheet" href="/stylesheets/style.min.css" />
106
+ <link rel="stylesheet" href="/stylesheets/style.css" />
107
+ <script src="/javascripts/jquery-3.6.0.min.js"></script>
108
+ <script src="/javascripts/jstree.min.js"></script>
109
+
110
+ <script src="https://cdn.jsdelivr.net/npm/vega@5.20.2"></script>
111
+ <script src="https://cdn.jsdelivr.net/npm/vega-lite@5.1.1"></script>
112
+ <script src="https://cdn.jsdelivr.net/npm/vega-embed@6.18.2"></script>
113
+
114
+ </head>
115
+ <body>
116
+ <div id="content">
117
+ <header>
118
+ ヘッダー部分
119
+ </header>
120
+ <div id="split-panel">
121
+ <div id="left-panel">
122
+ <div id="file_tree"></div>
123
+ </div>
124
+ <div id="right-panel">
125
+ <div id="chart"></div>
126
+ <!-- ここ描画 -->
127
+
128
+ </div>
129
+ </div>
130
+
131
+ </div>
132
+ <script src="/javascripts/readTree.js"></script>
133
+ </body>
134
+ </html>
135
+ ```
136
+ ### ejsに描画させるコード
137
+ ```js
138
+ $('#file_tree').on("changed.jstree", function (e, data) {
139
+ var myReg = new RegExp('.+\.\w{3}$');
140
+ if (myReg.test(data.selected[0])) {
141
+ // データがあるURL
142
+ var url = "BASE_URL" + data.node['parent'] + '/' + data.selected[0];
143
+ console.log(url);
144
+ $.ajax({
145
+ async:true,
146
+ url:"http://localhost:3000/graph",
147
+ type: 'POST',
148
+ data:{'url':url},
149
+ contentType: 'application/x-www-form-urlencoded; charset=UTF-8'
150
+ }).done((data) => {
151
+ console.log('成功');
152
+ // 作成したデータセット
153
+ var vlSpec = data;
154
+ // 描画させる 
155
+ vegaEmbed('#chart', vlSpec);
156
+ }).fail(() => {
157
+ console.log('失敗');
158
+ });
159
+
160
+ } else {
161
+ console.log("Folder")
162
+ }
163
+ });
164
+ ```