A 3D Visualization Technique for Large Scale Time-Varying Data
Maiko Imoto, Takayuki Itoh
Ochanomizu University{maiko i, itot}@itolab.is.ocha.ac.jp
Abstract
We represent time-varying data as polyline charts very
often. At the same time, we often need to observe hundreds
or even thousands of time-varying values in one chart.
However, it is often difficult to understand such large-scale
time-varying if all the values are drawn in a single polyline chart. This paper presents a polyline-based 3D timevarying data visualization technique. The technique places
a set of polylines in the 3D space, where the X-axis denotes
time, the Y-axis denotes values, and the polylines are arranged along the Z-axis. It provides two views: the first
viewpoint has a view direction along Y-axis, and the second viewpoint has a view direction along Z-axis. The technique displays the overview of the data from the first viewpoint, and the detail of the specific parts of the data fromthe second viewpoint. It also detects frequent or outlier
patterns by applying SAX (Symbolic Aggregate approXimation), and indicates them so that users can discover suchcharacteristic patterns. This paper shows several interesting visualization examples to demonstrate the effectivenessof the presented technique.

1 Introduction
Observation and analysis of time-varying data is important in various scientific, technical, and social fields.
We believe information visualization techniques should be
useful for observation and analysis of such data. Science
researchers often observe time-varying data to clarify themechanism of natural phenomena. For example, many
scientific simulation results construct time-varying volume
data, and its visualization is very useful to clarify the mechanism of dynamics or other natural phenomena. Anotherexample is time-varying expression values of genes. Functionality forecasting of genes is an important topic of bioinformatics researchers, and observation of time-varying expression values is a key to clarify their functionality. Many
engineers monitor time-varying values of systems on theiroperations. For example, engineers of atomic plants always look the time-varying measurement values to quickly
find accidents of the systems. Similarly, administratorsof computers often watch multiple time-varying statisticalvalues so that they can quickly find serious errors or ma-

licious attacks. Moreover, such observation and analysisof time-varying data is important in various social sciencefields, such as time change of stock prices, and approval
ratio of politicians.
We represent time-varying data as polyline charts very
often. Also, we commonly draw multiple time-varying values in a single polyline chart space so that users can compare the time-varying values. On the other hand, we often deal with hundreds or even thousands of time-varying
values in the above mentioned various fields. It is usually difficult to read if we draw hundreds or thousands ofpolylines in a single space. Several recent works have addressed the visualization of such large-scale time-varying
data, including techniques that enable interactive query ofpolylines [6] [9] [10], similarity-based discovery of frequent or non-trivial patterns [2] [3] [8], and linked view
with a geo-visualization technique [1].
The paper presents a 3D time-varying data visualization
technique, for all-in-one display and extraction of similarvalues. The technique firstly orders the time-varying data
based on their similarity, and places the polylines in theorder. It then provides two views, while one view briefly
represents the whole time-varying data, and the other represents the partial data extracted by click operations. Users
can look over the time-varying data, extract groups of interested similar values, and carefully observe the extracted
values, by using this technique. Also, the technique detects
frequent or outlier patterns by applying SAX (Symbolic
Aggregate approXimation), and indicates them by enclosing the corresponding parts of the polylines. This functionality makes users easier to select groups of the polylines
which have typical patterns and carefully observe.
This paper introduces our case study using temperature
data measured at 913 points in January 2006, and discusses
the effectiveness of the presented technique.

2 Related Work
There have been several works on novel polyline chart
tools for visualization of time series data sets. Some works
focused on interactive query of polylines. Wattenberg et al.
presented a sketch-based query interface to search for specific shapes of polylines [10]. Hochheiser et al. presented

(1) Render from “Viewpoint 1”
in the left side of the window.

Y (value)

Viewpoint 1(2) Click twice, to specify
a range of extracting polylines.

X (time)Z (ordered based on similarity)
Viewpoint 2(3) Render the extracted
polylines from “Viewpoint 2”
in the right side of the window.

Figure 1: Outline of the presented technique. (Left) 3D placement of polylines. The technique assigns z-coordinate values
to the polylines based on the order. (Right) Processing and operation flow of the presented technique. Left side of thewindow provides the overview of the data, and user-specified portion of the data is then displayed in the right side of thewindow.
Timeboxes and TimeSearcher, a gradient- and range-based
query interface for polyline-based time-varying data visualization [6]. Some works focused on similarity-based
pattern and outlier discovery. Buono et al. presented
a technique to interactively search for similar pattern, as
an extension of TimeSearcher [2]. They also presented asimilarity-based forecasting technique [3], which forecasts
the future pattern of time-varying values by searching forsimilar past patterns. Lin et al. presented a technique todiscover non-trivial patterns [8], by clustering a set of timevarying values and searching for outliers. As discussed
in Section 1, such interactive query and pattern discovery
techniques are useful to zoom into the interested parts orfilter the uninterested parts of the time-varying data.
We have presented a polyline-based time-varying datavisualization technique [9], which is close to combinationand extension of the above existing techniques. The technique applies polylines clustering to reduce of drawing
polylines for overview and level of detail control. It also
applies sketch interface for query of specific polylines andrevival of polylines skipped by the level of detail control.
Several application-specific polyline-based visualization techniques also focused on representation of timevarying values. For example, ThemeRiver [5] visualizes
frequency of words in a set of documents as a metaphor ofa river.
The presented technique applies SAX [4] [7] for patterndiscovery from time-varying data. It divides time-varying
values into a set of segments, and replaces the segments
into constant values (e.g. mean values). It then replaces thesegments into symbolic characters, so that users can easily
discover frequent or outlier patterns, and query them. The
presented technique appliers the symbolic representation
to indicate such patterns so that users can easily discover.

3 Proposed Technique
Most of existing polyline-based time-varying data visualization place sets of polylines onto 2D (xy-place) display
spaces. On the other hand, the technique presented in thispaper places the polylines onto a 3D space (xyz-space).
Figure 1 shows an illustration and an example of the presented technique. It firstly orders the polylines based on
the similarity of their feature values, and then assigns zcoordinate values to the polylines according to the order.
The placement is useful to extract groups of similar polylines. It then provides two views, while ”Viewpoint 1” hasa ray perpendicular to xz-plane, and ”Viewpoint 2” has a
ray perpendicular to xy-plane. The first view provides an
overview of the whole time-varying data and a user interface to extract interested polylines, and the second viewprovides zoomed display of the extracted polylines. The
technique also displays rectangles corresponding to frequent or outlier patterns detected by SAX, in the left sideof the window.
The technique consists of the following three components:
1. Preprocess: Polyline ordering and pattern detection.
2. Overview of the whole time-varying data in the left
side of the window.

A1

Y (value)
Ai = {ai1 , ai 2 , ..., ain }Y (value)
A
B
C
D
E
F

A2

CABCDEA j = {a j1, a j 2, ..., a jn }Am

X (time)X (time)
t1

tn

long

distance

short

Figure 2: (Left) Construction of dendrogram based on similarity of polylines. The dendrogram is used to order the polylines.
(Right) Symbolic character representation of the pieces of time-varying values by SAX.
3. Display of the extracted polylines in the right side of
the window.

3.1

Polyline Ordering

This section describes the j-th value at the i-th time asaij , and the j-th time series values as Aj = {aj1 , .., ajn },while the data has n time steps. Here, the technique calculates distances between arbitrary pairs of polylines, andconstructs a dendrogram of the polyline to order them. Ourcurrent implementation prepares several distance calculation schemes so that users can select one of them according to their use scenario. The paper introduces a schemethat calculates distances based on positions of polylinevertices. The scheme calculates the distance between thej-th and k-th polylines D(j, k) by the following equation:
D(j, k) =n (aij − aik )2

(1)

i=1

After calculating the distances between all the possible
pairs of polylines, the scheme constructs a dendrogram.
Initially the scheme treats a polyline as a cluster, andmerges the closest clusters into a single cluster. The merge
process is repeated until all the polylines are connected bya single dendrogram. Finally, the scheme orders all thepolylines by using the dendrogram. Figure 2 (Left) shows
an illustration of the above mentioned process.

3.2

Overview

The technique prepares two viewpoints as above mentioned. Figure 1 (Left) shows an illustration of the polyline
placement in a 3D space by the technique.
These are used to global and local visualization of thetime-varying data. The technique firstly displays the whole
data from ”Viewpoint 1”, in the left side of the window, asshown in Figure 1(Right)(1). Here all the polylines are
drawn as ribbons, while they are shaded after setting several light sources. The polylines are colored according toy-coordinate values of the polyline-vertices: our current
implementation assigns warm colors (e.g. red) to higher
y-coordinate values and cool colors (e.g. blue) to lower ycoordinate values. The technique initially adjusts ”Viewpoint 1” to display the whole data in one space; however,users can control the viewpoint and freely focus on specificparts of the data.

3.3 Polyline Selection
The technique also provides a user interface to extract
specific similar polylines on the left side of the window.
Our implementation supports two-click operation to specify a range of extracting polylines, as shown in Figure1(Right)(2). When a user specifies a range, the techniquerenders the extracted polylines from ”Viewpoint 2” anddisplays on the right side of the window, as shown in Figure 1(Right)(3). Again, the technique initially adjusts the
viewpoint to display the whole part of the extracted polylines; however, users can freely control the viewpoint tofocus on specific parts of the extracted polylines.
As above mentioned, the technique supports dual display of the time-varying data, so that users can initiallyoverview the whole data, extract interesting similar polylines, and focus on the extracted polylines to carefully observe their coherency or differences.
It is often effective to assign another color in the rightside, by calculating from other values or metadata of thepolylines. We support the coloring according to the gradients of polylines as one of the variety of color calculation.
It can effectively emphasize suddenly changing values.

3.4 Pattern Extraction and Indication
The technique is generally useful to extract a set of totally similar time-varying values in large-scale datasets,
because they are ordered based on their global similarity.
On the other hand, we are often interested in extraction ofpartially characteristic values. We apply SAX [4] [7] forsymbolic character representation of time-varying values,

w x

y

z

(c) Zoom up to the upper end in the left side

Click

Click
Viewpoint 1

Viewpoint 2(a) Click operation in the left side(b) Zoom up to apart of polylines

w x

y

z

(d) Zoom up to a part in the right side

Figure 3: Example (1). Users can understand the overview of the time-varying data by looking at the left side, and thedetailed trends of specific parts of the data by looking at the right side.
which is useful for various purposes, including discovery
of frequent or outlier patterns, and query of specific patterns.
Figure 2(Right) is an illustration of our implementationof SAX. The implementation divides time-varying values
into pieces by a constant interval Nc , as
Aj = {(aj1 , ..., ajNc ), (aj(Nc +1) , ..., aj(2Nc ) ),..., (aj(n−Nc +1) , ..., ajn )}(2)

At the same time, the implementation assigns characters to ranges of the values. Figure 2(Right) shows that it
assigns A, B, C, D, E, and F to the illustrated ranges. It
then divides each interval into smaller pieces by a smaller
interval, calculates average values of the piece, and finallyassigns characters to the pieces. Figure 2(Right) zooms in
an interval (aj(kNc +1) , ..., aj((k+1)Nc ) ), where the implementation divides the interval into six pieces and assigns
characters ”CABCDE”. This section calls such sequencesof characters ”words”.
After dividing all the time-varying values and constructing words, the implementation counts the frequency of thewords. The technique can indicate time-varying values corresponding to the specific words in the left side of the window. Our current implementation supports to display:• One or more words which has extremely high frequency, to indicate major patterns.
• One or more words which has extremely low frequency, to indicate outlier patterns.

4 ExperimentThis section introduces a case study that visualized temperature data recorded in January 2006 at 913 points inJapan by a weather measurement system AMeDAS. We
implemented the technique with Java JDK 1.6.0, and tested
on an Apple MacBook Pro (CPU 2.2GHz, RAM 4GB) running Mac OS 10.4.

4.1 Operation Flow
Figure 3 shows an example of the operation flow. We
clicked a part of the data in the left side, as marked by a redrectangle in Figure 3(a). We focused this part because its
color changed between yellow and green very frequently.
We then observed the specified polylines in the right sideof the window. The temperatures were totally less-varying
between daytime and night, but actually changed between
yellow and green almost every day. Most of the polyline
looked totally very similar; however, they were very different in a few days, as marked by a pink circle. It wasdifficult to recognize such local difference in the left side,
but we found it by carefully observing in the right side, as
shown in Figure 3(b). The example denotes that the mechanism of our technique is effective, to overview the whole
data first, and then extracts parts of the data to carefully observe. Another interesting point is that the extracted polylines corresponded to temperatures at different regions ofJapan, including Ibaraki prefecture (along Pacific Ocean),
Ishikawa prefecture (along Japan Sea), and Nara prefecture (inland). Usually we do not think such different regions had similar variation of temperature. The example
also denotes that we discovered interesting and unexpectedphenomena by the presented technique.
We clicked another part of the data in the left side, as
marked by a blue rectangle. Before clicking the part, weobserved several deep blue parts marked by brown circles
in Figure 3(c). We clicked this part and observed the polylines as shown in Figure 3(d), and found the differencesFigure 4: Example (2). (Left) Frequent patterns are enclosed by purple rectangles. (Right) Outlier patterns are enclosed bypurple rectangles.
among the marked parts. This result shows that truly low
temperature was observed in many points at the time ”w”.
On the other hand, such low temperature was observed ina few points at the time ”z”. We did not think such differences before the click operation because we are not enoughsensitive to the slight differences of colors; however, we
could understand such slight differences after the click operation.

4.2

Frequent or Outlier Patterns

Figure 4 shows examples of frequent or outlier patterndiscovery applying SAX. We divided the temperature data
in January 2006 into 31 pieces (day-by-day), and consequently dealt with 931 × 31 = 28861 words by assigning
7 characters.
Figure 4(Left) shows frequent patterns by enclosing corresponding words by purple rectangles in the left side of
the window. Our implementation drew rectangles if thewords appeared 300 times or more. Here, we observed apart marked by a blue rectangle, where the purple rectangles were not drawn for several days. We clicked the partand observed the polylines in the right side, and found thatthe temperature was relatively high and flat all the several
days, as marked by a sky blue circle. We understood thattemperatures are usually more fluctuating in these points,
and such flat temperature marked by the sky blue circle
is not a frequent phenomenon. We could not understandthis kind of numerical features only by looking at coloredpolylines, but we could discover them by marking frequent
patterns.
Figure 4(Right) shows outlier patterns by enclosing corresponding words by purple rectangles in the left side of
the window. Our implementation drew rectangles if thewords appeared less than 10 times. We clicked a part thatmany purple rectangles were drawn, and discovered outlier
polylines marked by sky blue circles. They are truly rare
patterns that were not synchronized with temperatures atother points. This example demonstrates that our SAX implementation contributed to discover such outlier patterns
easily.
Figure 5 shows examples that just one of the frequent
patterns is indicated by purple rectangles. Here, we clicked
two parts enclosed by blue and red rectangles in the left
side of the window, and observed the polylines. We observed that many polylines were enclosed by purple rectangles twice, as marked by two yellow rectangles. We displayed the polylines in the two modes: the former modecolored polylines in blue and red based on the click operations, and the latter mode colored polylines based on
temperature values. We found that polylines in red did notrange so much in the period marked by the second yellow
rectangle, though blue polylines ranged so much at thattime. This example denotes that we discovered two groupsof partially similar polylines which are separately placedin the left side of the window, and understood how the twogroups were similar and different thanks to the specific pattern indication.

5 Conclusion and Future Work
The paper presented a polyline-based 3D time-varying
data visualization technique. The technique first orders
time-varying values based on their similarity. It then places
the time-varying values as polylines in the 3D space, where
the X-axis denotes time, the Y-axis denotes values, and thepolylines are arranged along the Z-axis. It provides twoviews: one view displays the overview of the data, and theFigure 5: Example (3). Just one of the frequent patterns is indicated in the left side of the window.
other view displays finer representation of the specified setof time-varying values. It also displays frequent or outlier patterns so that users can easily discover major or minor trends of the data. This paper presented an interestingcase study with the temperature data recorded by Japanese
weather measurement system.
Our potential future work includes the following issues:
Validation of the polyline ordering algorithm is an important issue. We aim to gather similar polylines in a single region in the left side of the visualization, but it often causes that similar polylines separately place and form
multiple clusters. We would like to solve the issue.
We would like to have scalability tests soon. Our test
data contained 913 sets of time-varying values. We did
not have any difficulty while observing and operating thedata by the technique, but we are not sure if it is still comfortable to use the technique with ten-thousands of timevarying values. We would like to test the technique withlarger datasets. We think it is also important to evaluatewith experimental users, and have experiments with othertime-varying data.
This work has been partially supported by Japan Societyof the Promotion of Science under Grant-in-Aid fir Scientific Research.

References[1] G. Andrienko, N. Andrienko, Visual Exploration of the Spatial Distribution of Temporal Behaviors, 9th International
Conference on Information Visualization, 799-806, 2005.
[2] P. Buono, A. Aris, C. Plaisant, A. Khella, B. Shneiderman,
Interactive Pattern Search in Time Series, Conference on Visualization and Data Analysis ’05, 175-186, 2005.

[3] P. Buono, C. Plaisant, A. Simeone, A. Aris, B. Shneiderman, G. Shmueli, W. Jank, Similarity-Based Forecastingwith Simultaneous Previews: A River Plot Interface forTime Series Forecasting, 11th International Conference on
Information Visualization, 191-196. 2007.
[4] S. Gandhi, S. Nath, S. Suri, J. Liu, GAMPS: Compressing Multi Sensor Data by Grouping and Amplitude Scaling,
35th SIGMOD International Conference on Management of
Data, pp. 771-784, 2009.
[5] S. Havre, E. Hetzler, P. Whitney, L. Nowell, ThemeRiver:
Visualizing Thematic Changes in Large Document Collections, IEEE Transactions on Visualization and Computer
Graphics, 8(1), 9-20, 2002.
[6] H. Hochheiser, B. Shneiderman, Dynamic Query Tools forTime Series Data Sets: Timebox Widgets for Interactive Exploration, Information Visualization, 3(1), 1-18, 2004.
[7] J. Lin, E. Keogh, S. Lonardi, B. Chiu, A Symbolic Representation of Time Series, with Implications for Streaming
Algorithms, 8th ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery, 2003.
[8] J. Lin, E. Keogh, S. Lonardi, Visualizing and Discovering
Non-trivial Patterns in Large Time Series Databases, Information Visualization, 4(2), 61-82, 2005.
[9] Y. Uchida, T. Itoh, A Visualization and Level-of-Detail
Control Technique for Large Scale Time Series Data,
13th International Conference on Information Visualisation(IV09), pp. 80-85, 2009.
[10] M. Wattenberg, D. Jones, Sketching a Graph to Query aTime-Series Database, SIGCHI Conference on Human Factors in Computing Systems Extended Abstract (CHI2001),
381-382, 2001.