About yFiles.NET

yFiles.NET is an extensive class library for the Microsoft .NET environment that provides algorithms and components for analyzing, viewing, and drawing graphs, diagrams, and networks. Its intended use is for application developers that are working on projects dealing with graph-related structures. yFiles.NET divides into two distinct parts:

This document describes yFiles.NET Algorithms; yFiles.NET Viewer is described in the yFiles.NET Developer's Guide (UI Part).

Note

For the sake of brevity, the chapters and sections in this document that discuss concepts and use of the library often simply utilize the name "yFiles" when describing features of yFiles.NET Algorithms.

What it is

One of the main aspects of yFiles.NET is the provision of sophisticated layout algorithms to support automatic generation of high-quality graph drawings. Take, for instance, the graph depicted in Figure 1.2, “Initial setup of some data”. It shows a "raw" version of a graph where it seems that the nodes have been placed randomly on the plane. Suppose this "raw" graph represents an initial setup of some data.

Important

The yFiles.NET Algorithms component described in this document does not provide any means for the visualization of diagrams. This functionality is part of the yFiles.NET Viewer component which is described in the yFiles.NET Developer's Guide (UI Part).

Figure 1.2. Initial setup of some data

Initial setup of some data.

By using one of yFiles.NET's layout algorithms the "raw" graph will be transformed into the arrangement shown in Figure 1.3, “Automatically computed "polished" drawing”. Note that the actual process of computing the "polished" drawing is completely automatic.

Figure 1.3. Automatically computed "polished" drawing

Automatically computed "polished" drawing.

Note

In a real-world scenario the initial setup could be even worse. For instance, when a graph is created from data retrieved from a database, any node created to represent an entity from a column would not have any positional information associated. Hence, the created nodes would all lie at the origin of the Cartesian coordinate system, i.e., they would "pile up."

What it's not

Even for mathematically inclined people the term graph drawing can be misleading as to what it exactly should mean. Also, the term visualization is another popular occasion for a misunderstanding of the purposes the yFiles library serves.

Figure 1.4, “Other forms of diagrams” shows some examples of other forms of graphs, or more generally diagrams, that yFiles.NET does not support. In particular, the yFiles.NET graph visualization library does not provide any functionality to deal with pie charts, function plots, or anything the like.

Figure 1.4. Other forms of diagrams

A pie-chart.
 
A function plot.