1 Introduction

Information visualization is becoming increasingly important in improving the quality of service in various markets [1, 2]. Information visualization is a means of presenting data clearly to people by using diagrams, animations, and so on after performing preprocessing such as clustering. It enables observers to instinctively recognize the relationships among data that cannot be observed by looking at numerical data.

One technique in information visualization is node-link diagrams [3], which enable observers to recognize data by simply showing their relationships through connected links. However, as the number of nodes and links increases, graph visibility decreases because visual clutter forms as data become large.

To reduce visual clutter, the approach of changing the layout of graphs was first proposed in [4]. By correctly rearranging nodes, graph visibility increases to a certain degree. However, this approach cannot solve the problem when a graph has enormous edges. To address this issue, a new approach, called edge bundling [5], has been proposed. This method enables observers to recognize the main stream of edges through bundle edges based on certain rules. For example, several methods based on the hierarchical structure of nodes [6], parallel coordinates [7], mechanical models, and so on [8], have been proposed. The mechanical bundling method presented in related works has succeeded in improving graph visibility by making bundle of edges clear.

By contrast, some types of graph have invested in attributions. For example, for an air route diagram, in which the nodes are the airports and the links are the air routes, the differences in airline companies can be invested to edges as attributions. For another example, trend information can be attributions in FACT-Graph [9]. However, previous edge bundling methods do not consider such attributions, and thus, an assumption is drawn that previous methods do not represent all the information in a graph.

In this paper, we propose a new method for multi-attributed graphs, which bundles the edges of each attribution and increases graph visibility. We demonstrate the validity of our method by applying it to a co-occurrence graph of keywords from editorial articles.

2 Related Works

2.1 Force-Directed Edge Bundling (FDEB)

Holten et al. proposed FDEB [10]. In this method, edges are considered as a spring with several control points, and edges are bundled by an attractive force between the points based on Hooke’s law. However, when the force is too strong, the edges are bundled excessively and node-link diagrams present incorrect relationships. To solve this problem, Holten at el. introduced a compatibility measure that works for the force between incorrect pairs of edges. This method has been applied to undirected and non-attributed graphs.

A spring force \( F_{s} \) that works at \( p_{i} \) is presented as follows:

$$ F_{s} = k_{p} \cdot \left( {\left\| {p_{i - 1} - p_{i} } \right\| + \left\| {p_{i} - p_{i + 1} } \right\|} \right) + \sum\nolimits_{Q \in E} {\frac{{C_{e} \left( {P,Q} \right)}}{{\left\| {p_{i} - q_{i} } \right\|}}} $$
(1)

where the control points are \( p_{i - 1} \), \( p_{i} \), \( p_{i + 1} \), and \( q_{i} \) in edges P and Q; \( i \) is the index of the control point (1 < i < n); \( k_{p} \) is the spring constant; and \( C_{e} \left( {P,Q} \right) \) is the compatibility between P and Q.

2.2 Divided Edge Bundling

Selassie et el. improved FDEB and proposed divided edge bundling [11]. The latter uses directed and non-attributed graphs as objects of bundling. In addition to spring force, Selassie at el. proposed Coulomb’s force based on the potential in which the variable is the distance between control points \( p_{i} \) and \( q_{j} \). Control point \( p_{i} \) is attracted to point \( m_{j} \), which is the potential minimum point. When edges P and Q are going toward opposite directions, \( m_{j} \) moves to the right of edge Q. Hence, Coulomb’s force changes according to the current pair of edge attributions.

Selassie at el. also introduced the parameter of compatibility, which depends on the number of edges in the minimum length path between edges P and Q. As a result of this parameter, bundling for graphs with several subgraphs is strictly limited.

The potential minimum m j and Coulomb’s force F C that work at p i are defined as follows:

$$ m_{j} = \left\{ {\begin{array}{*{20}c} {q_{j}\qquad } & {if\,P \cdot Q > 0} \\ {q_{j} + lN_{j} } & {if\,P \cdot Q < 0} \\ \end{array} } \right. $$
(2)
$$ F_{C} = \frac{{ - sk_{C} }}{{\pi C\left( {s^{2} + \left| {p_{i} - m_{j} } \right|^{2} } \right)^{2} }} $$
(3)

where l, s, and k c are the parameters; N j is the vector which defines the direction of m j ; j is the index of the control point (1 < j < C); and C is the number of control points.

3 Edge Bundling Method for Attributed Graphs

3.1 Approach

In this paper, we assume that edges have attributions A, B, or C. Attributions A and B oppose one another. Attribution C can belong to both classes. Hooke’s law and gravitational force work between all pairs of edges. In addition, Coulomb’s force works between pairs of the same attribution as an attractive force and pairs of different attributions as a repulsive force. Based on these forces, edges are bundled by the same attribution.

3.2 Compatibility

Some pairs of edges are not suitable for bundling. To consider these pairs, we introduced compatibility measures that were proposed in related works. In Holten’s method, compatibility is calculated by the angle, scale, position, and visibility of pairs. In Selassie’s method, compatibility is measured by the shortest path of edges, which severely limits bundling in disjoint edges.

In the current study, we introduced Holten’s compatibility measure because graph visibility is assumed to become clear when weights are added to improper pairs of edges. In the case, graph visibility becomes low when sparse parts of the graph are forcibly bundled. Furthermore, bundling disjoint edges in our data set is unnecessary. Therefore, we also introduced Selassie’s compatibility measure.

3.3 Force of Control Point Based on a Potential Minimum

We note that the direction of edges can be translated into the attribution of edges; hence, Coulomb’s force is customized in our method. To more clearly represent the difference of bundles in each attribution, we defined \( m_{j} \) and \( T_{j} \) as follows:

$$ m_{j} = \left\{ {\begin{array}{*{20}cl} {q_{j} } & {if\,P\;and\;Q\;are\;the\;same\;attribution} \\ {q_{j} + lT_{j} } & {else} \\ \end{array} } \right. $$
(4)
$$ T_{j} = \left\{ {\begin{array}{*{20}l} {p_{i} - q_{j} } & {if\;P\;and\;Q\;are\;the\;same\;attribution} \\ {q_{j} - p_{i} } & {else} \\ \end{array} } \right. $$
(5)

where m j is the potential minimum, and T j is the direction of the force and m j .

Handling edges as a spring is assumed to be practical. Hence, Hooke’s law works in our method according to Eq. (1). Moreover, the customized Coulomb’s force \( F_{C}^{{\prime }} \) works. \( F_{C}^{{\prime }} \) at p i is defined as follows:

$$ F_{C}^{{\prime }} = f\left( {J_{P} } \right) \cdot \frac{{T_{j} }}{{\left| {T_{j} } \right|}} \cdot \frac{{ - C_{e} \left( {P,Q} \right)sk_{C} \left| {p_{i} - m_{j} } \right|}}{{\pi C\left( {s^{2} + \left| {p_{i} - m_{j} } \right|^{2} } \right)^{2} }} $$
(6)
$$ f\left( {J_{P} } \right) = \alpha \cdot J_{P} + \beta $$
(7)

where s, l, α, and β are the parameters; k p is the spring constant; k C is the Coulombic constant; C is the number of control points; J P is the weight of the current edge; and C e is the compatibility between edges P and Q.

Considering the idea that an important edge should be the center of the bundle, we adopt edge weight into the force via \( f\left( {J_{P} } \right) \). The total force \( F_{C} \) at point \( p_{i} \) is as follows:

$$ F_{C} = \left\{ {\begin{array}{*{20}ll} {F_{s} } & { {if\;P\;or\;Q\;is\;attribution\;C} } \\ {F_{s} + F_{C}^{{\prime }} } & {else} \\ \end{array} } \right. $$
(8)

When the current pair of edges contains attribution C, the force only behaves as a spring force. When the pair consists of the same attributed edge, Coulomb’s force works with an attractive force and the pair is bundled tightly. When the pair consists of different attributed edges, the force at work is repulsion.

4 Example

4.1 Preliminary Experiment

The result of the sample bundling is shown in Fig. 1. The sample graph has 11 parallel edges. The edges have individual attributions, which are depicted in red, blue, or green. The color green corresponds to attribution C, which can belong to both groups. As shown in Fig. 1, the mainstream of edges and the edges with the same attribution are bundled tightly. The parameters shown in Fig. 3, along with their values, are summarized in Table 1.

Fig. 1.
figure 1

A spring force works between \( p_{i - 1} \) and p i , as well as between p i and p i+1. An attractive force also works between p i and q i .

Fig. 2.
figure 2

Potential minimum \( m_{j} \) moves to the right side of edge Q when P and Q are going toward opposite directions. Coulomb’s force is calculated based on \( m_{j} \).

Fig. 3.
figure 3

Bundling for a sample graph. Left: Result of the proposed method. Right: Result of FDEB.

Table 1. Parameters and their default values

4.2 Effect of the Parameters

The effect of the parameters appears as a result of the sample bundling depicted in Table 2. The parameters in this method are as follows.

  • \( k_{p} \): The spring constant that defines the stiffness of the edges. The edges become stiff when \( k_{p} \) increases.

  • \( k_{C} \): The Coulombic constant that defines Coulomb’s force. When \( k_{C} \) increases, Coulomb’s force also increases regardless of which force is attractive or repulsive.

  • \( s \): This parameter also defines Coulomb’s force. The force decreases when s increases.

  • \( l \): This parameter defines the moving distance of a potential minimum.

  • \( \alpha ,\beta \): These coefficients define the weight of Coulomb’s force. Adopting the weight of the edge in the bundling method is assumed to be rational. However, weight can have different values. To properly adopt weight in the method, weight has to be normalized first.

Table 2. Variation of the results with changing values

The appropriate values of these parameters differ depending on the data set, the structure of the graph, and the node-link diagrams. The parameters have to be determined by comparing the changing values of the result.

5 Experiment

5.1 Data Set

In this paper, we choose editorial articles from two newspapers as the data set to draw an attributed graph. Given that similar topics are probably selected during the same period regardless of the newspaper, investing different attributions into a co-occurrence graph from different editorial articles of each newspaper is easy.

We draw co-occurrence graphs of keywords using data from the 2008 editorial articles of Asahi and Yomiuri newspapers, and then draw a compound graph from the two co-occurrence graphs. We apply our method to the compound graph. The total number of keywords is 200 for each newspaper. We use the Jaccard index as a co-occurrence degree, and its threshold is determined to be 0.25. When we draw the compound graph, we invest the attributions “Asahi,” “Yomiuri,” or “Both” into the edges. The attribution indicates in which graph does an edge appear on. “Asahi” and “Yomiuri” oppose each other, and “Both” can belong to both attributions. The total of the extracted keywords and edges is provided in Table 3.

Table 3. Total of the extracted keywords and edges

The coordinates of the nodes have to be determined arbitrarily because this data set does not include location information. Our method uses the force based on the law of dynamics. Consequently, we determine their coordinates by using the Kamada–Kawai algorithm [12]. This algorithm is also based on the law of dynamics.

5.2 Result

This section compares the result of our method with that of the other method. In all the results, the attribution of the red edges is “Asahi,” the attribution of the blue edges is “Yomiuri,” and the attribution of the green edges is “Both.” The objective of this paper is edge bundling; hence, the following results do not show the keywords of the nodes (Fig. 4).

Fig. 4.
figure 4

Diagrams from the editorial data: (a) before bundling, (b) after FDEB is applied, and (c) after our method, which considers attributions, is applied.

The diagrams before and after bundling are depicted in Fig. 4. In our method, the repulsion force between the red and blue edges works well, and thus, the edges are separated and bundled individually, as shown in the upper right area of Fig. 4(c). Therefore, compared with FDEB, our method can better represent graph attributions. In addition, a red node with numerous edges is observed in the upper right area. This node does not appear in the diagram before bundling. Accordingly, our method can reveal hidden nodes, that is, hidden knowledge and relationships (Fig. 5).

Fig. 5.
figure 5

Enlarged view of the upper right area. Left: Before bundling. Right: Result of the proposed method. The blue and red edges are obviously bundled individually.

6 Conclusion

In this paper, we proposed an edge bundling method for multi-attributed graphs to improve the visibility of diagrams. Our method combined and improved related works, and then bundled edges by individual attribution. Consequently, the diagram could represent attributions and its visibility was simultaneously improved.

Future works include the following.

Applying to other networks. In this paper, an object for bundling is denoted by the Kamada–Kawai algorithm; thus, nodes and edges are placed as symmetrically as possible. Applying our method to other networks, such as real networks or those with location information, is necessary.

Extending our method. Our method defines graph attributions as two attributions that oppose each other and another attribution that can belong to both groups. However, a graph with more than three attributions that oppose one another probably exists. Extending our method to such graphs is worthwhile.

Introducing the evaluation index. Several edge bundling techniques are available. However, an evaluation index for edge bundling remains lacking. Users have to decide which technique to apply by comparing results. By introducing an evaluation index, users can choose the correct method for each data set.