Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
vig
Sublinear Algorithms for VA
pseudo
Commits
369c013d
Commit
369c013d
authored
Sep 16, 2020
by
Kruyff,D.L.W. (Dylan)
Browse files
Better display of multiple channels
parent
b224f361
Changes
6
Show whitespace changes
Inline
Side-by-side
AngularApp/prototype/src/app/overview-window/overview-window.component.html
View file @
369c013d
<zingchart-angular
#chart
[id]=
"id"
[config]=
"config"
(dblclick)=
"doubleClick($event)"
(mousewheel)=
"zoom($event)"
(click)=
"clicked($event)"
[height]=
"300"
></zingchart-angular>
<zingchart-angular
#chart
[id]=
"id"
[config]=
"config"
(mousewheel)=
"zoom($event)"
(click)=
"clicked($event)"
[height]=
"300"
></zingchart-angular>
<div
id=
"test"
></div>
<div
id=
"test"
></div>
AngularApp/prototype/src/app/overview-window/overview-window.component.ts
View file @
369c013d
...
@@ -34,49 +34,12 @@ export class OverviewWindowComponent implements OnInit {
...
@@ -34,49 +34,12 @@ export class OverviewWindowComponent implements OnInit {
}
}
async
initializePlot
()
{
async
initializePlot
()
{
// Initialize channels
for
(
const
channel
of
this
.
service
.
rawValues
)
{
const
data
=
[];
for
(
let
i
=
0
;
i
<
channel
.
length
;
i
++
)
{
data
.
push
([
i
,
channel
[
i
]]);
}
this
.
graphset
.
push
({
type
:
'
line
'
,
// zoom: {
// shared: true
// },
plotarea
:
{
"
margin-top
"
:
"
10px
"
,
"
margin-bottom
"
:
"
0px
"
,
height
:
'
50px
'
,
},
scaleX
:
{
zooming
:
true
,
zoomTo
:
[
0
,
this
.
service
.
windowSize
],
markers
:
[]
},
'
scale-y
'
:
{
zooming
:
false
,
'
auto-fit
'
:
true
},
series
:
[{
type
:
'
line
'
,
values
:
data
,
text
:
'
Raw Values
'
,
zIndex
:
5
,
marker
:
{
alpha
:
0.0
,
zIndex
:
10
}
}]
});
}
// Initialize label chart
// Initialize label chart
this
.
graphset
.
push
({
this
.
graphset
.
push
({
id
:
'
preview
'
,
type
:
"
scatter
"
,
type
:
"
scatter
"
,
// plot: {
x
:
0
,
// visible: false,
y
:
0
,
// },
scaleX
:
{
scaleX
:
{
zooming
:
true
,
zooming
:
true
,
minValue
:
0
,
minValue
:
0
,
...
@@ -88,6 +51,7 @@ export class OverviewWindowComponent implements OnInit {
...
@@ -88,6 +51,7 @@ export class OverviewWindowComponent implements OnInit {
visible
:
false
visible
:
false
}
}
},
},
height
:
'
30px
'
,
scaleY
:
{
scaleY
:
{
maxValue
:
1
,
maxValue
:
1
,
minValue
:
-
1
,
minValue
:
-
1
,
...
@@ -97,8 +61,9 @@ export class OverviewWindowComponent implements OnInit {
...
@@ -97,8 +61,9 @@ export class OverviewWindowComponent implements OnInit {
}
}
},
},
preview
:
{
preview
:
{
height
:
"
30px
"
,
x
:
50
,
position
:
"
0% 20%
"
,
y
:
10
,
height
:
'
30px
'
,
},
},
series
:
[
series
:
[
{
{
...
@@ -130,11 +95,49 @@ export class OverviewWindowComponent implements OnInit {
...
@@ -130,11 +95,49 @@ export class OverviewWindowComponent implements OnInit {
}
}
]
]
});
});
// Initialize channels
this
.
service
.
rawValues
.
forEach
((
channel
,
index
)
=>
{
const
data
=
[];
for
(
let
i
=
0
;
i
<
channel
.
length
;
i
++
)
{
data
.
push
([
i
,
channel
[
i
]]);
}
this
.
graphset
.
push
({
id
:
index
,
x
:
0
,
y
:
`
${
75
*
index
+
50
}
px`
,
type
:
'
line
'
,
height
:
'
50px
'
,
scaleX
:
{
zooming
:
true
,
zoomTo
:
[
0
,
this
.
service
.
windowSize
],
markers
:
[]
},
'
scale-y
'
:
{
zooming
:
false
,
'
auto-fit
'
:
true
},
plotarea
:
{
height
:
'
50px
'
,
'
margin-top
'
:
'
0px
'
,
'
margin-bot
'
:
'
0px
'
},
series
:
[{
type
:
'
line
'
,
values
:
data
,
text
:
'
Raw Values
'
,
zIndex
:
5
,
marker
:
{
alpha
:
0.0
,
zIndex
:
10
}
}]
});
});
zingchart
.
bind
(
'
zingchart-ng-1
'
,
'
zoom
'
,
(
e
)
=>
{
zingchart
.
bind
(
'
zingchart-ng-1
'
,
'
zoom
'
,
(
e
)
=>
{
if
(
e
.
graphid
!==
'
zingchart-ng-1-graph-
id2
'
)
{
if
(
e
.
graphid
!==
`
zingchart-ng-1-graph-
preview`
)
{
return
;
return
;
}
}
for
(
let
i
=
0
;
i
<
this
.
graphset
.
length
-
1
;
i
++
)
{
for
(
let
i
=
1
;
i
<
this
.
graphset
.
length
;
i
++
)
{
this
.
chart
.
zoomto
({
this
.
chart
.
zoomto
({
graphid
:
i
,
graphid
:
i
,
xmin
:
e
.
xmin
,
xmin
:
e
.
xmin
,
...
@@ -143,7 +146,7 @@ export class OverviewWindowComponent implements OnInit {
...
@@ -143,7 +146,7 @@ export class OverviewWindowComponent implements OnInit {
}
}
});
});
this
.
config
=
{
this
.
config
=
{
layout
:
'
3
x1
'
,
layout
:
`
${
this
.
graphset
.
length
}
x1
`
,
graphset
:
this
.
graphset
graphset
:
this
.
graphset
};
};
console
.
log
(
this
.
config
);
console
.
log
(
this
.
config
);
...
@@ -160,9 +163,7 @@ export class OverviewWindowComponent implements OnInit {
...
@@ -160,9 +163,7 @@ export class OverviewWindowComponent implements OnInit {
y
:
clickData
.
y
y
:
clickData
.
y
}));
}));
console
.
log
(
xyInformation
);
console
.
log
(
xyInformation
);
console
.
log
(
xyInformation
[
2
]);
const
index
=
Math
.
floor
(
xyInformation
[
8
].
nodeidx
/
this
.
service
.
stepSize
);
const
index
=
Math
.
floor
(
xyInformation
[
2
].
nodeidx
/
this
.
service
.
stepSize
);
console
.
log
(
index
);
await
this
.
service
.
getQueryWindow
(
this
.
service
.
rawValues
[
0
].
slice
(
index
,
index
+
this
.
service
.
windowSize
));
await
this
.
service
.
getQueryWindow
(
this
.
service
.
rawValues
[
0
].
slice
(
index
,
index
+
this
.
service
.
windowSize
));
const
temp
=
{};
const
temp
=
{};
temp
[
index
]
=
true
;
temp
[
index
]
=
true
;
...
@@ -209,7 +210,6 @@ export class OverviewWindowComponent implements OnInit {
...
@@ -209,7 +210,6 @@ export class OverviewWindowComponent implements OnInit {
data
:
this
.
config
data
:
this
.
config
});
});
await
this
.
service
.
getSimilarWindows
();
await
this
.
service
.
getSimilarWindows
();
console
.
log
(
'
done
'
);
}
}
async
updateCandidates
(
sliderIndex
)
{
async
updateCandidates
(
sliderIndex
)
{
...
@@ -259,8 +259,4 @@ export class OverviewWindowComponent implements OnInit {
...
@@ -259,8 +259,4 @@ export class OverviewWindowComponent implements OnInit {
});
});
}
}
}
}
}
}
doubleClick
(
e
)
{
this
.
chart
.
viewall
();
}
}
}
Flaskserver/.idea/workspace.xml
View file @
369c013d
...
@@ -2,9 +2,10 @@
...
@@ -2,9 +2,10 @@
<project
version=
"4"
>
<project
version=
"4"
>
<component
name=
"ChangeListManager"
>
<component
name=
"ChangeListManager"
>
<list
default=
"true"
id=
"556080ba-825c-4b55-a92a-867a4df4fb32"
name=
"Default Changelist"
comment=
""
>
<list
default=
"true"
id=
"556080ba-825c-4b55-a92a-867a4df4fb32"
name=
"Default Changelist"
comment=
""
>
<change
beforePath=
"$PROJECT_DIR$/../AngularApp/prototype/src/app/api.service.ts"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/../AngularApp/prototype/src/app/api.service.ts"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.html"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.html"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/../AngularApp/prototype/src/app/cache.service.ts"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/../AngularApp/prototype/src/app/cache.service.ts"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.ts"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.ts"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.ts"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.ts"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/.idea/workspace.xml"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/.idea/workspace.xml"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/data.pkl"
beforeDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/main.py"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/main.py"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/main.py"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/main.py"
afterDir=
"false"
/>
</list>
</list>
<option
name=
"EXCLUDED_CONVERTED_TO_IGNORED"
value=
"true"
/>
<option
name=
"EXCLUDED_CONVERTED_TO_IGNORED"
value=
"true"
/>
...
@@ -18,8 +19,8 @@
...
@@ -18,8 +19,8 @@
<file
pinned=
"false"
current-in-tab=
"true"
>
<file
pinned=
"false"
current-in-tab=
"true"
>
<entry
file=
"file://$PROJECT_DIR$/main.py"
>
<entry
file=
"file://$PROJECT_DIR$/main.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
-3340
"
>
<state
relative-caret-position=
"
431
"
>
<caret
line=
"6
2
"
column=
"
36
"
selection-start-line=
"6
2
"
selection-start-column=
"
36
"
selection-end-line=
"6
2
"
selection-end-column=
"
36
"
/>
<caret
line=
"6
8
"
column=
"
5"
lean-forward=
"true
"
selection-start-line=
"6
8
"
selection-start-column=
"
5
"
selection-end-line=
"6
8
"
selection-end-column=
"
5
"
/>
<folding>
<folding>
<element
signature=
"e#0#41#0"
expanded=
"true"
/>
<element
signature=
"e#0#41#0"
expanded=
"true"
/>
</folding>
</folding>
...
@@ -59,7 +60,7 @@
...
@@ -59,7 +60,7 @@
</list>
</list>
</option>
</option>
</component>
</component>
<component
name=
"ProjectFrameBounds"
extendedState=
"
7
"
>
<component
name=
"ProjectFrameBounds"
extendedState=
"
6
"
>
<option
name=
"x"
value=
"-11"
/>
<option
name=
"x"
value=
"-11"
/>
<option
name=
"y"
value=
"-11"
/>
<option
name=
"y"
value=
"-11"
/>
<option
name=
"width"
value=
"1890"
/>
<option
name=
"width"
value=
"1890"
/>
...
@@ -144,18 +145,18 @@
...
@@ -144,18 +145,18 @@
<workItem
from=
"1599487808817"
duration=
"1192000"
/>
<workItem
from=
"1599487808817"
duration=
"1192000"
/>
<workItem
from=
"1599578907139"
duration=
"8436000"
/>
<workItem
from=
"1599578907139"
duration=
"8436000"
/>
<workItem
from=
"1599661275060"
duration=
"1249000"
/>
<workItem
from=
"1599661275060"
duration=
"1249000"
/>
<workItem
from=
"1600001984238"
duration=
"
8284
000"
/>
<workItem
from=
"1600001984238"
duration=
"
10447
000"
/>
</task>
</task>
<servers
/>
<servers
/>
</component>
</component>
<component
name=
"TimeTrackingManager"
>
<component
name=
"TimeTrackingManager"
>
<option
name=
"totallyTimeSpent"
value=
"10
2340
000"
/>
<option
name=
"totallyTimeSpent"
value=
"10
4503
000"
/>
</component>
</component>
<component
name=
"ToolWindowManager"
>
<component
name=
"ToolWindowManager"
>
<frame
x=
"-7"
y=
"-7"
width=
"1295"
height=
"695"
extended-state=
"7"
/>
<frame
x=
"-7"
y=
"-7"
width=
"1295"
height=
"695"
extended-state=
"7"
/>
<editor
active=
"true"
/>
<editor
active=
"true"
/>
<layout>
<layout>
<window_info
content_ui=
"combo"
id=
"Project"
order=
"0"
visible=
"true"
weight=
"0.28698465"
/>
<window_info
active=
"true"
content_ui=
"combo"
id=
"Project"
order=
"0"
visible=
"true"
weight=
"0.28698465"
/>
<window_info
id=
"Structure"
order=
"1"
side_tool=
"true"
weight=
"0.25"
/>
<window_info
id=
"Structure"
order=
"1"
side_tool=
"true"
weight=
"0.25"
/>
<window_info
id=
"Favorites"
order=
"2"
side_tool=
"true"
/>
<window_info
id=
"Favorites"
order=
"2"
side_tool=
"true"
/>
<window_info
anchor=
"bottom"
id=
"Message"
order=
"0"
/>
<window_info
anchor=
"bottom"
id=
"Message"
order=
"0"
/>
...
@@ -211,8 +212,8 @@
...
@@ -211,8 +212,8 @@
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/main.py"
>
<entry
file=
"file://$PROJECT_DIR$/main.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
-3340
"
>
<state
relative-caret-position=
"
431
"
>
<caret
line=
"6
2
"
column=
"
36
"
selection-start-line=
"6
2
"
selection-start-column=
"
36
"
selection-end-line=
"6
2
"
selection-end-column=
"
36
"
/>
<caret
line=
"6
8
"
column=
"
5"
lean-forward=
"true
"
selection-start-line=
"6
8
"
selection-start-column=
"
5
"
selection-end-line=
"6
8
"
selection-end-column=
"
5
"
/>
<folding>
<folding>
<element
signature=
"e#0#41#0"
expanded=
"true"
/>
<element
signature=
"e#0#41#0"
expanded=
"true"
/>
</folding>
</folding>
...
...
Flaskserver/__pycache__/main.cpython-38.pyc
View file @
369c013d
No preview for this file type
Flaskserver/data.pkl
LFS
View file @
369c013d
This source diff could not be displayed because it is stored in LFS. You can
view the blob
instead.
Flaskserver/main.py
View file @
369c013d
...
@@ -44,7 +44,7 @@ def read_mts_data():
...
@@ -44,7 +44,7 @@ def read_mts_data():
filename
=
'data.pkl'
filename
=
'data.pkl'
if
(
not
os
.
path
.
isfile
(
filename
)):
if
(
not
os
.
path
.
isfile
(
filename
)):
print
(
"start"
)
print
(
"start"
)
df
=
dd
.
read_csv
(
"NW_Ground_Stations_2016.csv"
,
usecols
=
[
'number_sta'
,
'date'
,
't'
])
df
=
dd
.
read_csv
(
"NW_Ground_Stations_2016.csv"
,
usecols
=
[
'number_sta'
,
'date'
,
't'
,
'hu'
,
'td'
])
print
(
"read file"
)
print
(
"read file"
)
df
=
df
.
loc
[
df
[
'number_sta'
]
==
14066001
]
df
=
df
.
loc
[
df
[
'number_sta'
]
==
14066001
]
print
(
"split rows"
)
print
(
"split rows"
)
...
@@ -55,12 +55,16 @@ def read_mts_data():
...
@@ -55,12 +55,16 @@ def read_mts_data():
df
.
dropna
(
subset
=
[
't'
],
inplace
=
True
)
df
.
dropna
(
subset
=
[
't'
],
inplace
=
True
)
response
=
[
response
=
[
{
{
"index"
:
df
.
loc
[:,
'date'
].
iloc
[
0
:
int
(
len
(
df
.
index
)
/
2
)].
values
.
astype
(
str
).
tolist
(),
"index"
:
df
.
loc
[:,
'date'
].
values
.
astype
(
str
).
tolist
(),
"values"
:
df
.
loc
[:,
't'
].
iloc
[
0
:
int
(
len
(
df
.
index
)
/
2
)].
values
.
tolist
()
"values"
:
df
.
loc
[:,
't'
].
values
.
tolist
()
},
{
"index"
:
df
.
loc
[:,
'date'
].
values
.
astype
(
str
).
tolist
(),
"values"
:
df
.
loc
[:,
'hu'
].
values
.
tolist
()
},
},
{
{
"index"
:
df
.
loc
[:,
'date'
].
iloc
[
int
(
len
(
df
.
index
)
/
2
):
len
(
df
.
index
)].
values
.
astype
(
str
).
tolist
(),
"index"
:
df
.
loc
[:,
'date'
].
values
.
astype
(
str
).
tolist
(),
"values"
:
df
.
loc
[:,
't'
].
iloc
[
int
(
len
(
df
.
index
)
/
2
):
len
(
df
.
index
)
].
values
.
tolist
()
"values"
:
df
.
loc
[:,
't
d
'
].
values
.
tolist
()
}
}
]
]
print
(
"response ready"
)
print
(
"response ready"
)
...
@@ -85,6 +89,24 @@ def create_windows():
...
@@ -85,6 +89,24 @@ def create_windows():
print
(
"Sending response: "
+
str
(
time
()
-
t0
))
print
(
"Sending response: "
+
str
(
time
()
-
t0
))
return
'1'
return
'1'
@
app
.
route
(
'/create-mts-windows'
,
methods
=
[
'POST'
])
def
create_mts_windows
():
t0
=
time
()
if
(
not
os
.
path
.
isfile
(
'processed-data.npy'
)):
filename
=
'data.pkl'
df
=
pd
.
read_pickle
(
filename
)
values
=
df
.
loc
[:,
't'
].
values
.
astype
(
str
).
tolist
()
print
(
"Data read: "
+
str
(
time
()
-
t0
))
raw_data
=
request
.
json
window_size
=
int
(
raw_data
[
'parameters'
][
"windowsize"
])
print
(
"Processing: "
+
str
(
time
()
-
t0
))
data
=
[
values
[
i
:
i
+
window_size
]
for
i
in
range
(
len
(
values
)
-
window_size
)]
data
=
preprocessing
.
minmax_scale
(
data
,
(
-
1
,
1
),
axis
=
1
)
print
(
"Preprocessed: "
+
str
(
time
()
-
t0
))
np
.
save
(
'processed-data'
,
data
)
print
(
"Sending response: "
+
str
(
time
()
-
t0
))
return
'1'
@
app
.
route
(
'/create-tables'
,
methods
=
[
'POST'
])
@
app
.
route
(
'/create-tables'
,
methods
=
[
'POST'
])
def
create_tables
():
def
create_tables
():
t0
=
time
()
t0
=
time
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment